linux/fs/dcache.c
<<
ptio.34/spa="v .34/form"v .34a ptio.3 href="../linux+v3 <6/fs/dcache.c">ptio.34img src="../.static/gfx/right.png" alt=">>">pt4/spa="vpt4spa= class="lxr_search">ptioptio.34input typ v2hidden" nam v2navtarget" > v2">ptio.34input typ v2text" nam v2search" idv2search">ptio.34butt typ v2submit">Searchptio.3Prefsv .34/a>pt4/spa="vio.3 34/div"vio.3 34form aclue=="ajax+*" method="post" onsubmit="return false;">pt4input typ v2hidden" nam v2ajax_lookup" idv2ajax_lookup" > v2">pio.3 34/form"vpio.3 34div class="headingbott m">v 4div idv2file_contents""
3 314/a>4spa= class="comment">/*4/spa="v3 324/a>4spa= class="comment"> * fs/dcache.c4/spa="v3 334/a>4spa= class="comment"> *4/spa="v3 344/a>4spa= class="comment"> * Complete reimplementalue=4/spa="v3 354/a>4spa= class="comment"> * (C) 1997 Thomas Schoebel-Theuer,4/spa="v3 364/a>4spa= class="comment"> * with heavy changes by Linus Tor >
ds4/spa="v3 374/a>4spa= class="comment"> */4/spa="v3 384/a>p3 394/a>4spa= class="comment">/*4/spa="v3   4spa= class="comment"> * Notes 
	 the allocalue= strategy:4/spa="v3 114/a>4spa= class="comment"> *4/spa="v3 124/a>4spa= class="comment"> * The dcache is a master of the icache - whenever a dcache entry4/spa="v3 134/a>4spa= class="comment"> * exists, the inode will always exist. "iput()" is done either when4/spa="v3 144/a>4spa= class="comment"> * the dcache entry is deleted or garbage collected.4/spa="v3 154/a>4spa= class="comment"> */4/spa="v3 164/a>p3 174/a>#include <linux/syscalls.h4/a>>p3 184/a>#include <linux/string.h4/a>>p3 194/a>#include <linux/mm.h4/a>>p3 204/a>#include <linux/fs.h4/a>>p3 214/a>#include <linux/fsnotify.h4/a>>p3 224/a>#include <linux/slab.h4/a>>p3 234/a>#include <linux/init.h4/a>>p3 244/a>#include <linux/hash.h4/a>>p3 254/a>#include <linux/cache.h4/a>>p3 264/a>#include <linux/export.h4/a>>p3 274/a>#include <linux/mount.h4/a>>p3 284/a>#include <linux/file.h4/a>>p3 294/a>#include <asm/uaccess.h4/a>>p3 304/a>#include <linux/security.h4/a>>p3 314/a>#include <linux/seqlock.h4/a>>p3 324/a>#include <linux/swap.h4/a>>p3 334/a>#include <linux/bootmem.h4/a>>p3 344/a>#include <linux/fs_struct.h4/a>>p3 354/a>#include <linux/hardirq.h4/a>>p3 364/a>#include <linux/bit_spinlock.h4/a>>p3 374/a>#include <linux/rculist_bl.h4/a>>p3 384/a>#include <linux/prefetch.h4/a>>p3 394/a>#include <linux/ratelimit.h4/a>>p3 404/a>#include "internal.h4/a>"p3 414/a>#include "mount.h4/a>"p3 424/a>p3 434/a>4spa= class="comment">/*4/spa="v3 444/a>4spa= class="comment"> * Usage:4/spa="v3 454/a>4spa= class="comment"> * dcache->d_inode->i_lock protects:4/spa="v3 464/a>4spa= class="comment"> *   - i_dentry, d_alias, d_inode of aliases4/spa="v3 474/a>4spa= class="comment"> * dcache_hash_bucket lock protects:4/spa="v3 484/a>4spa= class="comment"> *   - the dcache hash table4/spa="v3 494/a>4spa= class="comment"> * s_anon bl list spinlock protects:4/spa="v3 5 4spa= class="comment"> *   - the s_anon list (see __d_drop)4/spa="v3 514/a>4spa= class="comment"> * dcache_lru_lock protects:4/spa="v3 524/a>4spa= class="comment"> *   - the dcache lru lists and counters4/spa="v3 534/a>4spa= class="comment"> * d_lock protects:4/spa="v3 544/a>4spa= class="comment"> *   - d_flags4/spa="v3 554/a>4spa= class="comment"> *   - d_nam 4/spa="v3 564/a>4spa= class="comment"> *   - d_lru4/spa="v3 574/a>4spa= class="comment"> *   - d_count4/spa="v3 584/a>4spa= class="comment"> *   - d_unhashed()4/spa="v3 594/a>4spa= class="comment"> *   - d_parent and d_subdirs4/spa="v3 6 4spa= class="comment"> *   - childrens' d_child and d_parent4/spa="v3 614/a>4spa= class="comment"> *   - d_alias, d_inode4/spa="v3 624/a>4spa= class="comment"> *4/spa="v3 634/a>4spa= class="comment"> * Ordering:4/spa="v3 644/a>4spa= class="comment"> * dentry->d_inode->i_lock4/spa="v3 654/a>4spa= class="comment"> *   dentry->d_lock4/spa="v3 664/a>4spa= class="comment"> *     dcache_lru_lock4/spa="v3 674/a>4spa= class="comment"> *     dcache_hash_bucket lock4/spa="v3 684/a>4spa= class="comment"> *     s_anon lock4/spa="v3 694/a>4spa= class="comment"> *4/spa="v3 7 4spa= class="comment"> * If there is an ancestor relalue=ship:4/spa="v3 714/a>4spa= class="comment"> * dentry->d_parent->...->d_parent->d_lock4/spa="v3 724/a>4spa= class="comment"> *   ...4/spa="v3 734/a>4spa= class="comment"> *     dentry->d_parent->d_lock4/spa="v3 744/a>4spa= class="comment"> *       dentry->d_lock4/spa="v3 754/a>4spa= class="comment"> *4/spa="v3 764/a>4spa= class="comment"> * If no ancestor relalue=ship:4/spa="v3 774/a>4spa= class="comment"> * if (dentry1 < dentry2)4/spa="v3 784/a>4spa= class="comment"> *   dentry1->d_lock4/spa="v3 794/a>4spa= class="comment"> *     dentry2->d_lock4/spa="v3 8 4spa= class="comment"> */4/spa="v3 814/a>int sysctl_vfs_cache_pressure4/a> __read_mostly4/a> = 100;p3 824/a>4a href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPL4/a>(sysctl_vfs_cache_pressure4/a>);p3 834/a>p3 844/a>static __cacheline_aligned_in_smp4/a> DEFINE_SPINLOCK4/a>(dcache_lru_lock4/a>);p3 854/a>4a href="+code=__cacheline_aligned_in_smp" class="sref">__cacheline_aligned_in_smp4/a> DEFINE_SEQLOCK4/a>(renam _lock4/a>);p3 864/a>p3 874/a>4a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL4/a>(renam _lock4/a>);p3 884/a>p3 894/a>static struct kmem_cache4/a> *dentry_cache4/a> __read_mostly4/a>;p3 904/a>p3 914/a>4spa= class="comment">/*4/spa="v3 924/a>4spa= class="comment"> * This is the single most critical data structure when it comes4/spa="v3 934/a>4spa= class="comment"> * to the dcache: the hashtable for lookups. Somebody should try4/spa="v3 944/a>4spa= class="comment"> * to make this good - I've just made it work.4/spa="v3 954/a>4spa= class="comment"> *4/spa="v3 964/a>4spa= class="comment"> * This hash-funclue= tries to avoid losing too many bits of hash4/spa="v3 974/a>4spa= class="comment"> * informalue=, yet avoid using a prime hash-size or similar.4/spa="v3 984/a>4spa= class="comment"> */4/spa="v3 994/a>#define D_HASHBITS4/a> .3 34a href="+code=d_hash_shift" class="sref">d_hash_shift4/a>p31004/a>#define D_HASHMASK4/a> .3 34a href="+code=d_hash_mask" class="sref">d_hash_mask4/a>p31014/a>p31024/a>static unsigned int d_hash_mask4/a> __read_mostly4/a>;p31034/a>static unsigned int d_hash_shift4/a> __read_mostly4/a>;p31044/a>p31054/a>static struct hlist_bl_head4/a> *dentry_hashtable4/a> __read_mostly4/a>;p31064/a>p31074/a>static inline4/a> struct hlist_bl_head4/a> *d_hash4/a>(const struct dentry4/a> *parent4/a>,p31084/a> .3 333333333333333333333333333333333333unsigned int hash4/a>)p31094/a>{v31  33333333hash4/a> += (unsigned long)3parent4/a> /3L1_CACHE_BYTES4/a>;p31114/a>33333333hash4/a> =3hash4/a> + (hash4/a> >> D_HASHBITS4/a>);p31124/a>33333333return dentry_hashtable4/a> + (hash4/a> & D_HASHMASK4/a>);p31134/a>}p31144/a>p31154/a>4spa= class="comment">/* Statistics gathering. */4/spa="v31164/a>struct dentry_stat_t4/a> dentry_stat4/a> =3{v31174/a>33333333.age_limit4/a> =345,p31184/a>};p31194/a>v31204/a>static DEFINE_PER_CPU4/a>(unsigned int, nr_dentry4/a>);p31214/a>p31224/a>#if defined4/a>(CONFIG_SYSCTL4/a>) && defined4/a>(CONFIG_PROC_FS4/a>)p31234/a>static int get_nr_dentry4/a>(void)p31244/a>{v31254/a>33333333int i4/a>;p31264/a>33333333int sum4/a> =30;p31274/a>33333333for_each_possible_cpu4/a>(i4/a>)p31284/a> .3 333333333333sum4/a> +=3per_cpu4/a>(nr_dentry4/a>, i4/a>);p31294/a>33333333return sum4/a> < 0 ? 0 : sum4/a>;p31304/a>}p31314/a>p31324/a>int proc_nr_dentry4/a>(ctl_table4/a> *table4/a>,3int write4/a>,3void __user4/a> *buffer4/a>,p31334/a>3333333333333333333size_t4/a> *lenp4/a>, loff_t4/a> *ppos4/a>)p31344/a>{v31354/a>33333333dentry_stat4/a>.nr_dentry4/a> =3get_nr_dentry4/a>();p31364/a>33333333return proc_dointvec4/a>(table4/a>,3write4/a>,3buffer4/a>, lenp4/a>, ppos4/a>);p31374/a>}p31384/a>#endifp31394/a>v314 4spa= class="comment">/*4/spa="v31414/a>4spa= class="comment"> * Compare 2 nam  strings,3return 0 if they match, otherwise non-zero.4/spa="v31424/a>4spa= class="comment"> * The strings are both count bytes long, and count is non-zero.4/spa="v31434/a>4spa= class="comment"> */4/spa="v31444/a>#ifdef CONFIG_DCACHE_WORD_ACCESS4/a>v31454/a>v31464/a>#include <asm/word-at-a-time.h4/a>>p31474/a>4spa= class="comment">/*4/spa="v31484/a>4spa= class="comment"> * NOTE! 'cs' and 'scount' come from a dentry, so it has a4/spa="v31494/a>4spa= class="comment"> * aligned allocalue= for this particular component. We don't4/spa="v315 4spa= class="comment"> * strictly need the load_unaligned_zeropad() safety, but it4/spa="v31514/a>4spa= class="comment"> * doesn't hurt either.4/spa="v31524/a>4spa= class="comment"> *4/spa="v31534/a>4spa= class="comment"> * I= contrast, 'ct' and 'tcount' ca= be from a pathnam , and do4/spa="v31544/a>4spa= class="comment"> * need the careful unaligned handling.4/spa="v31554/a>4spa= class="comment"> */4/spa="v31564/a>static inline4/a> int dentry_string_cmp4/a>(const unsigned char *cs4/a>, const unsigned char *ct4/a>, unsigned tcount4/a>)p31574/a>{v31584/a> .3 3333unsigned long a4/a>,b4/a>,mask4/a>;p31594/a>v316 33333333for (;;)3{v31614/a>3333333333333333a4/a> = *(unsigned long *)cs4/a>;p31624/a>3333333333333333b4/a> =3load_unaligned_zeropad4/a>(ct4/a>);p31634/a>3333333333333333if (tcount4/a> < sizeof(unsigned long))p31644/a>333333333333333333333333break;p31654/a>3333333333333333if (unlikely4/a>(a4/a> !=3b4/a>))p31664/a>333333333333333333333333return 1;p31674/a>3333333333333333cs4/a> +=3sizeof(unsigned long);p31684/a> .3 333333333333ct4/a> +=3sizeof(unsigned long);p31694/a> .3 333333333333tcount4/a> -=3sizeof(unsigned long);p31704/a>3333333333333333if (!tcount4/a>)p31714/a>333333333333333333333333return 0;p31724/a>33333333}p31734/a>33333333mask4/a> =3~(~0ul << tcount4/a>*8);p31744/a>33333333return unlikely4/a>(!!((a4/a> ^3b4/a>) & mask4/a>));p31754/a>}p31764/a>p31774/a>#elsep31784/a>p31794/a>static inline4/a> int dentry_string_cmp4/a>(const unsigned char *cs4/a>, const unsigned char *ct4/a>, unsigned tcount4/a>)p318 {v31814/a>33333333do3{v31824/a>3333333333333333if (*cs4/a> !=3*ct4/a>)p31834/a>333333333333333333333333return 1;p31844/a>3333333333333333cs4/a>++;p31854/a>3333333333333333ct4/a>++;p31864/a>3333333333333333tcount4/a>--;p31874/a>33333333} while (tcount4/a>);p31884/a>33333333return 0;p31894/a>}p31904/a>p31914/a>#endifp31924/a>p31934/a>static inline4/a> int dentry_cmp4/a>(const struct dentry4/a> *dentry4/a>, const unsigned char *ct4/a>, unsigned tcount4/a>)p31944/a>{v31954/a>33333333const unsigned char *cs4/a>;p31964/a>333333334spa= class="comment">/*4/spa="v31974/a>4spa= class="comment">         * Be careful about RCU walk racing with renam :4/spa="v31984/a>4spa= class="comment">         * use ACCESS_ONCE to fetch the nam  pointer.4/spa="v31994/a>4spa= class="comment">         *4/spa="v320 4spa= class="comment">         * NOTE! Even if a renam  will mea	 that the length4/spa="v32014/a>4spa= class="comment">         * was not loaded atomically, we don't care. The4/spa="v32024/a>4spa= class="comment">         * RCU walk will check the sequence count eventually,4/spa="v32034/a>4spa= class="comment">         * and catch it. And we won't overru	 the buffer,4/spa="v32044/a>4spa= class="comment">         * because we're reading the nam  pointer atomically,4/spa="v32054/a>4spa= class="comment">         * and a dentry nam  is guaranteed to be properly4/spa="v32064/a>4spa= class="comment">         * terminated with a NUL byte.4/spa="v32074/a>4spa= class="comment">         *4/spa="v32084/a>4spa= class="comment">         * End result: even if 'len' is wrong, we'll exit4/spa="v32094/a>4spa= class="comment">         * early because the data cannot match (there can4/spa="v32  4spa= class="comment">         * be no NUL i	 the ct/tcount data)4/spa="v32114/a>4spa= class="comment">         */4/spa="v32124/a>33333333cs4/a> =3ACCESS_ONCE4/a>(dentry4/a>->d_nam 4/a>.nam 4/a>);p32134/a>33333333smp_read_barrier_depends4/a>();p32144/a>33333333return dentry_string_cmp4/a>(cs4/a>, ct4/a>, tcount4/a>);p32154/a>}p32164/a>p32174/a>static void __d_fre 4/a>(struct rcu_head4/a> *head4/a>)p32184/a>{v32194/a> .3 3333struct dentry4/a> *dentry4/a> =3container_of4/a>(head4/a>,3struct dentry4/a>, d_u4/a>.d_rcu4/a>);p32204/a>p32214/a>33333333WARN_ON4/a>(!hlist_unhashed4/a>(&dentry4/a>->d_alias4/a>));p32224/a>33333333if (dnam _external4/a>(dentry4/a>))p32234/a>3333333333333333kfre 4/a>(dentry4/a>->d_nam 4/a>.nam 4/a>);p32244/a>33333333kmem_cache_fre 4/a>(dentry_cache4/a>, dentry4/a>); p32254/a>}p32264/a>p32274/a>4spa= class="comment">/*4/spa="v32284/a>4spa= class="comment"> * no locks, please.4/spa="v32294/a>4spa= class="comment"> */4/spa="v32304/a>static void d_fre 4/a>(struct dentry4/a> *dentry4/a>)p32314/a>{v32324/a>33333333BUG_ON4/a>(dentry4/a>->d_count4/a>);p32334/a>33333333this_cpu_dec4/a>(nr_dentry4/a>);p32344/a>33333333if (dentry4/a>->d_op4/a>3&& dentry4/a>->d_op4/a>->d_release4/a>)p32354/a>3333333333333333dentry4/a>->d_op4/a>->d_release4/a>(dentry4/a>);p32364/a>p32374/a>33333333/* if dentry was never visible to RCU, immediate fre  is OK */4/spa="v32384/a>33333333if (!(dentry4/a>->d_flags4/a> & DCACHE_RCUACCESS4/a>))p32394/a> .3 333333333333__d_fre 4/a>(&dentry4/a>->d_u4/a>.d_rcu4/a>);p32404/a>33333333elsep32414/a>3333333333333333call_rcu4/a>(&dentry4/a>->d_u4/a>.d_rcu4/a>, __d_fre 4/a>);p32424/a>}p32434/a>p32444/a>4spa= class="comment">/**4/spa="v32454/a>4spa= class="comment"> * dentry_rcuwalk_barrier - invalidate in-progress rcu-walk lookups4/spa="v32464/a>4spa= class="comment"> * @dentry: the target dentry4/spa="v32474/a>4spa= class="comment"> * After this call, in-progress rcu-walk path lookup will fail. This4/spa="v32484/a>4spa= class="comment"> * should be called after unhashing, and after changing d_inode (if4/spa="v32494/a>4spa= class="comment"> * the dentry has not already been unhashed).4/spa="v325 4spa= class="comment"> */4/spa="v32514/a>static inline4/a> void dentry_rcuwalk_barrier4/a>(struct dentry4/a> *dentry4/a>)p32524/a>{v32534/a>33333333assert_spin_locked4/a>(&dentry4/a>->d_lock4/a>);p32544/a>33333333/* Go through a barrier */4/spa="v32554/a>33333333write_seqcount_barrier4/a>(&dentry4/a>->d_seq4/a>);p32564/a>}p32574/a>p32584/a>4spa= class="comment">/*4/spa="v32594/a>4spa= class="comment"> * Release the dentry's inode, using the filesystem4/spa="v326 4spa= class="comment"> * d_iput() operalue= if defined. Dentry has no refcount4/spa="v32614/a>4spa= class="comment"> * and is unhashed.4/spa="v32624/a>4spa= class="comment"> */4/spa="v32634/a>static void dentry_iput4/a>(struct dentry4/a> * dentry4/a>)v32644/a>33333333__releases4/a>(dentry4/a>->d_lock4/a>)v32654/a>33333333__releases4/a>(dentry4/a>->d_inode4/a>->i_lock4/a>)v32664/a>{v32674/a>33333333struct inode4/a> *inode4/a> =3dentry4/a>->d_inode4/a>;p32684/a>33333333if (inode4/a>)3{v32694/a> .3 333333333333dentry4/a>->d_inode4/a> =3NULL4/a>;p32704/a>3333333333333333hlist_del_init4/a>(&dentry4/a>->d_alias4/a>);p32714/a>3333333333333333spin_unlock4/a>(&dentry4/a>->d_lock4/a>);p32724/a>3333333333333333spin_unlock4/a>(&inode4/a>->i_lock4/a>);p32734/a>3333333333333333if (!inode4/a>->i_nlink4/a>)v32744/a>333333333333333333333333fsnotify_inoderemove4/a>(inode4/a>);p32754/a>3333333333333333if (dentry4/a>->d_op4/a>3&& dentry4/a>->d_op4/a>->d_iput4/a>)v32764/a>333333333333333333333333dentry4/a>->d_op4/a>->d_iput4/a>(dentry4/a>, inode4/a>);p32774/a>3333333333333333elsep32784/a> .3 33333333333333333333iput4/a>(inode4/a>);p32794/a> .3 3333}3else3{v32804/a>3333333333333333spin_unlock4/a>(&dentry4/a>->d_lock4/a>);p32814/a>33333333}p32824/a>}p32834/a>p32844/a>4spa= class="comment">/*4/spa="v32854/a>4spa= class="comment"> * Release the dentry's inode, using the filesystem4/spa="v32864/a>4spa= class="comment"> * d_iput() operalue= if defined. dentry remains in-use.4/spa="v32874/a>4spa= class="comment"> */4/spa="v32884/a>static void dentry_unlink_inode4/a>(struct dentry4/a> * dentry4/a>)v32894/a> .3 3333__releases4/a>(dentry4/a>->d_lock4/a>)v329 33333333__releases4/a>(dentry4/a>->d_inode4/a>->i_lock4/a>)v32914/a>{v32924/a>33333333struct inode4/a> *inode4/a> =3dentry4/a>->d_inode4/a>;p32934/a>33333333dentry4/a>->d_inode4/a> =3NULL4/a>;p32944/a>33333333hlist_del_init4/a>(&dentry4/a>->d_alias4/a>);p32954/a>33333333dentry_rcuwalk_barrier4/a>(dentry4/a>);p32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->d_lock4/a>);p32974/a>33333333spin_unlock4/a>(&inode4/a>->i_lock4/a>);p32984/a>33333333if (!inode4/a>->i_nlink4/a>)v32994/a> .3 333333333333fsnotify_inoderemove4/a>(inode4/a>);p33004/a>33333333if (dentry4/a>->d_op4/a>3&& dentry4/a>->d_op4/a>->d_iput4/a>)v33014/a>3333333333333333dentry4/a>->d_op4/a>->d_iput4/a>(dentry4/a>, inode4/a>);p33024/a>33333333elsep33034/a>3333333333333333iput4/a>(inode4/a>);p33044/a>}p33054/a>v33064/a>4spa= class="comment">/*4/spa="v33074/a>4spa= class="comment"> * dentry_lru_(add|del|prune|move_tail) must be called with d_lock held.4/spa="v33084/a>4spa= class="comment"> */4/spa="v33094/a>static void dentry_lru_add4/a>(struct dentry4/a> *dentry4/a>)v331 {v33114/a>33333333if (list_empty4/a>(&dentry4/a>->d_lru4/a>))3{v33124/a>3333333333333333spin_lock4/a>(&dcache_lru_lock4/a>);p33134/a>3333333333333333list_add4/a>(&dentry4/a>->d_lru4/a>, &dentry4/a>->d_sb4/a>->s_dentry_lru4/a>);p33144/a>3333333333333333dentry4/a>->d_sb4/a>->s_nr_dentry_unused4/a>++;p33154/a>3333333333333333dentry_stat4/a>.nr_unused4/a>++;p33164/a>3333333333333333spin_unlock4/a>(&dcache_lru_lock4/a>);p33174/a>33333333}p33184/a>}p33194/a>v33204/a>static void __dentry_lru_del4/a>(struct dentry4/a> *dentry4/a>)v33214/a>{v33224/a>33333333list_del_init4/a>(&dentry4/a>->d_lru4/a>);p33234/a>33333333dentry4/a>->d_flags4/a> &= ~DCACHE_SHRINK_LIST4/a>;p33244/a>33333333dentry4/a>->d_sb4/a>->s_nr_dentry_unused4/a>--;p33254/a>33333333dentry_stat4/a>.nr_unused4/a>--;p33264/a>}p33274/a>p33284/a>4spa= class="comment">/*4/spa="v33294/a>4spa= class="comment"> * Remove a dentry with references from the LRU.4/spa="v333 4spa= class="comment"> */4/spa="v33314/a>static void dentry_lru_del4/a>(struct dentry4/a> *dentry4/a>)v33324/a>{v33334/a>33333333if (!list_empty4/a>(&dentry4/a>->d_lru4/a>))3{v33344/a>3333333333333333spin_lock4/a>(&dcache_lru_lock4/a>);p33354/a>3333333333333333__dentry_lru_del4/a>(dentry4/a>);p33364/a>3333333333333333spin_unlock4/a>(&dcache_lru_lock4/a>);p33374/a>33333333}p33384/a>}p33394/a>v334 4spa= class="comment">/*4/spa="v33414/a>4spa= class="comment"> * Remove a dentry that is unreferenced and about to be pruned4/spa="v33424/a>4spa= class="comment"> * (unhashed and destroyed) from the LRU, and inform the file system.4/spa="v33434/a>4spa= class="comment"> * This wrapper should be called _prior_ to unhashing a victim dentry.4/spa="v33444/a>4spa= class="comment"> */4/spa="v33454/a>static void dentry_lru_prune4/a>(struct dentry4/a> *dentry4/a>)v33464/a>{v33474/a>33333333if (!list_empty4/a>(&dentry4/a>->d_lru4/a>))3{v33484/a> .3 333333333333if (dentry4/a>->d_flags4/a> & DCACHE_OP_PRUNE4/a>)v33494/a> .3 33333333333333333333dentry4/a>->d_op4/a>->d_prune4/a>(dentry4/a>);p33504/a>p33514/a>3333333333333333spin_lock4/a>(&dcache_lru_lock4/a>);p33524/a>3333333333333333__dentry_lru_del4/a>(dentry4/a>);p33534/a>3333333333333333spin_unlock4/a>(&dcache_lru_lock4/a>);p33544/a>33333333}p33554/a>}p33564/a>p33574/a>static void dentry_lru_move_list4/a>(struct dentry4/a> *dentry4/a>,3struct list_head4/a> *list4/a>)v33584/a>{v33594/a> .3 3333spin_lock4/a>(&dcache_lru_lock4/a>);p33604/a>33333333if (list_empty4/a>(&dentry4/a>->d_lru4/a>))3{v33614/a>3333333333333333list_add_tail4/a>(&dentry4/a>->d_lru4/a>, list4/a>);p33624/a>3333333333333333dentry4/a>->d_sb4/a>->s_nr_dentry_unused4/a>++;p33634/a>3333333333333333dentry_stat4/a>.nr_unused4/a>++;p33644/a>33333333}3else3{v33654/a>3333333333333333list_move_tail4/a>(&dentry4/a>->d_lru4/a>, list4/a>);p336364/a>3333333}p->33584/a>{vngde=d_rcu" classde=nr_dentry" class="srdv2L250" class="line" nam v2L250">325 d_inode4/a>-> * Aft4 lookups4/spa="v32354/a>3333d4UG_ON4/a>(dent.c#L364" idv2L364" class="line" nam v" nam v" nam v"33414/aa32084lass=pareoperalue= if defined. Dentry has3sref">d_l3ck4/a>);p33414/a>onam veralue= if defined. Dentry has3stry_unuseck4/a>);p * @dentry: the t3sref">i_n3ink4/a>)v * @dentry: the t3s>33333333de4/a>);p32"> * pa= class= v2L342">33424y_inoddomment"> * Remove a dentry with references fr"sref">d_3put4/a>)vde4/a>);p32>32"> *root ofm v2L249">32tree,084lass=e4/amove a dentry with references fr"nr_dentry3333elsep);p3ref="|del|pr3424pareopref="|del|pr"> * denune| by classrmment">r2L2roppe| byove a dentry with references fra> .3 3333}3else3{vd_l3ck4/a>);p33444/a>4spa= class="c>32814/a>33333333}pdentry_lru_move_list4/a>(struct dentry4/a>am ver_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *(struct 32824/a>}p32894/a> .3 3333__releases4/a>(dentry4/a>->p32644/a>33333333(spareoper *ref="+code=dentry" class="sref">dentry4/a>->33333333*4/spa="v32654/a>33333333__releases4/a>(dentry4/a>->d_inode4/a>->->a href="3333333333333call_rcu4/a>(&dentry4/a>->ngde=d_rcu" classdeomment"> 3/4/spa="v334 4spa= class=""sref">de3try4/a>)v4spawe">r2L v2L2ng* bect= cl>    tcodev2L340">334 4spa= class=""sref">d_3ock4/a>)v32treedev2L340">334 4spa= class=""ref">d_l3ock4/a>)v32114/a>4spa= class="comment"3 v2L291">32914/a>{v .3 333333333333if (dentry4/a>->ngde=d_rcu" classdesref">d_i3ode4/a>;p3ULL4/a>;p33ef="+code=dn6dcache.c#L33Lr077a href="fs/dcache.c#L274" epareopmove_list4/a>(spareoper *ref="+code=dentry" class="sref">dentry4/a>->ngde=d_rcu" classdes>33333333as4/a>);pstatic void __dentry_lru_del4/a>(den3ry4/a>);p334 4spa= class="sref">d_l3ck4/a>);p3ef="+L2rop32"> *L228">3spawhich pointL vbolas(excepperalue= if defined. Dentry has3sref">i_l3ck4/a>);p32d be called _prior_ to unhashing a vicsref">i_n3ink4/a>)v32114/a>4spa= class="comment"4"sref">in4de4/a>);p32304/a>static void __dentry_lru_del4/a>(d_4put4/a>)v(spareoper *ef="+code=dentry" class=4"2ref">d_4p914/a>{v33343333elsepin4de4/a>);p32844/a>4spa= class=4 v2L304">43044/a>}p33294/a>4spemovin"+cowrappnpRCU_ment"3333 aperalue= if defined. Dentry has4m v2L305"433054/a>v3ref="|del|pr>32ert_sp. mTv2Lclassrr"> * tak2Lclr2Lofm vat, er unhashing, and after changing4comment">4*4/spa="v33084/a>4spa= class="4omment"> 4/4/spa="v, shrs="sref">inode4/a>a>, shrs="er_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *de4try4/a>)v431 {vWARN_ON4/a>(!__dentry_lru_del4/a>(d_lr44/a>))3{vdentr href=blef">dentry4/a>,3stru href=blef">ddentry4ber *ef="+code=dentry" class=4che_lru_l4ck4/a>);p__dentry_lru_de=denkel>"+code=__releases" class="sref">__releases4/a>(dentry4/a>->in4ru4/a>);pdentry4ber * =href="+code=d_lru" class="sref">d_lru4/a>, &dentry4/a>->->4d4/a>++;p34">nr_unus4d4/a>++;pdentry4ber * =h+code=dentry" clasref="sref">dentry4/asref"+code=__releases" class="sref">__releases4/a>((slapareopt;__releases4/a>((sla"fs/>->dentry4sref"+coref="+code=dentry" class=4che_lru_l4ck4/a>);p33174/a>43333333}pdentr href=bless="sref">dentry4/a href=bless=""+code=__releases" cs="sref">dentry4ber *ref="+code=dentry" class=4cmment"> 43184/a>}pcall_rcu4/a>(&dentry4/asref"+coref="+code=dentry" class=4m v2L319"433194/a>vcall_rcu4/a>(&dentry4/asref"+cot;d_inode4/a> =3de4try4/a>)vdentry4ber *ref="+code=dentry" class=4 v2L321">43214/a>{vd_4ru4/a>);pin4IST4/a>;p4d4/a>--;p32354/a>33334">nr_unus4d4/a>--;p33294/line" nam v2L235">32354/a>33334"he_lru_l43264/a>}p33414/a>on2ropline" nam v2L235">32354/a>33334"33174/a>433274/a>p4*4/spa="v *3414/amment"> *pareoppa= cla L342"3, soa>4spa=t wonspa= peralue= if defined. Dentry has4om the LR4.4/spa="v3333VFSAfter thany more. Notea>4spa7">32>32dif="comtammeneralue= if defined. Dentry has4osref">de4/4/spa="v * a= cla -m v2eletehis ca14/a>onmark"> * a= cla neg2L3ve er unhashing, and after changing4"sref">de4try4/a>)v43324/a>{v * mak2Ltv2Lclc> *L2er thll, ieralue= if defined. Dentry has4 sref">in44/a>))3{v * @dentry: the t4che_lru_l4ck4/a>);p4spawantsa>onass="commen">33294/amor"somedev2L340">334 4spa= class=4sref">den4ry4/a>);p);p43333333}p, 2rop requiresm249">3ref="|del|p the dentry has not already bee4comment">43384/a>}p33084/a>4spa= class="4m v2L339"433394/a>v, 2ropsref">inode4/a>a>, 2ropli_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *4*4/spa="vWARN_ON4/a>(!__dentry_lru_del4/a>(, shrs="sref">inode4/a>a>, shrs="er_liru_del" class="sref">__dentry_lru_del4/a>(331295">32954/a>33333333dentry_rcuwalk_barrier4/a>( 4/4/spa="vde4try4/a>)v43464/a>{vEXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">a>, 2ropsref">inode4/a>a>, 2ropli_lref="+code=dentry" class=4o33174/a>44/a>))3{v4UNE4/a>)vinode4/a>, 2ropli_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *den4ry4/a>);pp33L359">33594/a> .3 3333__releases4/a>(dentry4/a>->);p, 2ropsref">inode4/a>a>, 2ropli_li" class="sref">dentry_rcuwalk_barrier4/a>(den4ry4/a>);p32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->);p33544/a>43333333}pEXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">2 2ropsref">inode4/a>, 2ropli_lref="+code=d_lock" class=4csref">de43554/a>}pp32844/a>4spa= class=4s="sref">4ist4/a>)v-&ger th-L2rop9">33294/ammentclc> *ent"clearLtv2Lnee>*L2er thllagm v2L284">32844/a>4spa= class=4somment">43584/a>{v33414/a>on2ropline" nam v2L235">32354/a>33334che_lru_l4ck4/a>);p32354/a>33334c v2L350"44/a>))3{v32>32try_lru_henawe"do9">L2er thon a placeholder>33414/a>4spanee>l>    bedev2L340">334 4spa= class=4="sref">l4st4/a>);p up. mTv2L33414/a4/a>4sphave beenaL342">3inaorder>mor"iove a defound2byove a dentry with references f4ntry_unus4d4/a>++;p *L2er thref", butL vwanee>sve a dev2L342">3whilemwe"do9t> *actual*L2er tove a dentry with references f4nhe_lru_l4d4/a>++;p33084/a>4spa= class="4="sref">l4st4/a>);p-&ger tsref">inode4/a>, clear_nee>-&ger tli_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *336364/a43333333}p33L359">33594/a> .3 3333__releases4/a>(dentry4/a>->d_inode4/a>->4ass="4689" idv2L289" class="line" nam, 2ropsref">inode4/a>a>, 2ropli_li" class="sref">dentry_rcuwalk_barrier4/a>( 4 Aft44790" idv2L290" class="line" n2ass="sref">__releases4/a>(dentry4/a>->NEED_LOOKUPs4/a> & dent4c#L364751" idv2L351"line" nam v2L334">33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->d_l4ck4/a>);p);pEXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">2 clear_nee>-&ger tsref">inode4/a>, clear_nee>-&ger tli_lref="+code=d_lock" class=4she_lru_l4ink4/a>)v33333334de4/a>);p32844/a>4spa= class=4"sref">d_4put4/a>)v33294/a>espa= v2L33ci>l>    am vmove a dentry with references f4"336364/a4de4/a>);p3ref="|del|pr"> * denune|,084lasssa>4spaiovref="+e|move_tail) must be called with 4"nr_dentr43333elsep32non-zero,Ltv2nL33creline2"> *refcounove omove_tail) must be called with 4"de" clas4de4/a>);pespa= r2L2on alled _prior_ to unhashing a vi4a> .3 3334}3else3{v33084/a>4spa= class="4sref">d_l4ck4/a>);pin href=ef">inode4/a>in hre1" idst" class="sref">dentry_lru_move_list4/a>(struct dentry4/a clasvam vli_list" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> *dentryent32814/a>43333333}p v2L289">32894/a> .3 3333__releases4/a>(dentry4/a>->42824/a>}pp32924/a>33333333struct inode4/a> *33333334*4/spa="v(struct d_4m4/spa="v->e" class="sref">inode4/a> *inode4/a> =3dentry4/a>-> 4/4/spa="v->e" class="sref">inode4/a> *32964/a>333333334a h =396">code=spin_unlock" class="sref">spin_unlock4/a>(&inode4/a>->de4try4/a>)vinode4/aenass=9" i:f="+code=d_lru" class="4"sref">d_4ock4/a>)v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->d_l4ock4/a>)vdentry4/acpu342914/a>{vspin_unlock4/a>(&4spasfs/a33294/aam v2L308">33084/a>4spa= class="4sref">d_i4ode4/a>;p4ULL4/a>;p->IS_ROO> &= ~__dentry_lru_del4/a>(33333334as4/a>);p(spareoper * =h+code=dentry" cclass="sref">d_inode4/a> =3den4ry4/a>);p34sref">d_l4ck4/a>);p(spareoper * =h+code=dentry" class="sref">__releases4/a>((slapareopt; 4ck4/a>);p->pareopmove_list4/a>(spareoper * a href="+coss="line" nam v234a h =396">32964/a>333333334a h =396">code=spin_unlock" class="pareopmove_list4/a>(spareoper *ref="+code=dentry" class="sref">dentry4/a>->i_n4ink4/a>)v->e" class="sref">inode4/a> *in5de4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&inode4/a>->d_5put4/a>)vinode4/aenass=9" id_5p914/a>{v33353333elsepin5de4/a>);p->entr="sref">dentryent53044/a>}p331sref">__releases4/a>(inode4/a>, counov334 4spa= class=5comment">5*4/spa="vashon > * av r alled _prior_ to unhashing a vi5_lock hel5.4/spa="v4spa7">3233294/a>32 Remove a dlled _prior_ to unhashing a vi5_9ock hel5.nk4/a>)v33424/a>4spa= alled _prior_ to unhashing a vi5"sref">de5try4/a>)v33084/a>4spa= class="5 v2L310">531 {vstatic void dentry_rcuwalk_barrier4/a>(d_lr54/a>))3{v * L3429tv2nLy_inodl=t 0m v2L308">33084/a>4spa= class="5 24/a>3335ck4/a>);pinode4/a>a>, 2ropli_li" class="sref">dentry_rcuwalk_barrier4/a>(in5ru4/a>);pdentry4/a>am ver_lif="+code=dentry" class="sref">dentry4/a> *5d4/a>++;pnr_unus5d4/a>++;p);p33084/a>4spa= class="5 lock hel53333333}p32>32d="+co2L308">33084/a>4spa= class="5 9ock hel53184/a>}p33084/a>4spa= class="5m v2L319"533194/a>v32>32tomplicate| byed andacta>4spawe"do nopawantve a="+co2L308">33084/a>4spa= class="5"sref">de5try4/a>)v i"32">spa>r2L v2L2ng* bon ana L342 chainaon > * 33084/a>4spa= class="5"ef">d_lr53214/a>{vespa= d much ra"> rmj> * get rid ofm v2m i"lid if lcalled _prior_ to unhashing a vi5"sref">d_5ru4/a>);pin5IST4/a>;p4spa=mpli"32">spawephave    traverse"> * a= clalled _prior_ to unhashing a vi5"v2L304">5d4/a>--;psve a"> *pareopsawhich might _also_L vwa dlled _prior_ to unhashing a vi5">nr_unus5d4/a>--;p}p533274/a>p5*4/spa="v32de=l" ccurseon >32dosawe"donspa= pawantve adepenef=2L308">33084/a>4spa= class="5om the LR5.4/spa="v * tompissrre aalways get 7">32right (gcc generall/adoesnspa= p* the dentry has not already bee5osref">de5/4/spa="v4spespa thour"stack 364c alled _prior_ to unhashing a vi5"sref">de5try4/a>)v33084/a>4spa= class="5 v2L332">53324/a>{vin54/a>))3{v334 4spa= class=5che_lru_l5ck4/a>);p33294/line" nam v2L235">32354/a>33335sref">den5ry4/a>);p33414/a>on32354/a>33335she_lru_l5ck4/a>);p53333333}p33294/.m v2L34m v"3rop9> * 53384/a>}p * a= cla =dennk methot">sawey_">say_inoent"iovmment">  queu"32anef=2L308">33084/a>4spa= class="5m v2L339"533394/a>v33084/a>4spa= class="5msref">de5*4/spa="voo mayp vwaget  elete alled _prior_ to unhashing a vi5o be prun5d4/spa="v33084/a>4spa= class="5ile syste5.4/spa="vstatic void ="+code=st" class="sref">dentry_lru_move_list4/a>(struct dentry4/a> * 5/4/spa="vdentry4/a> *den5try4/a>)v53464/a>{v54/a>))3{v->enpea>333333333333333enpea>9" i:f="+code=d_lru" class="5oomment">5UNE4/a>)v33484/a> .3 333333333333if (inode4/a>, counoden5ry4/a>);pinode4/a>might_sleepcode=ref="+code=d_lock" class=5m v2L350"533504/a>p33L359">33594/a> .3 3333__releases4/a>(dentry4/a>->);pdentry4/aBUG_ONf="+css="line" nam v2d class="sref">dentry4/a> *inode4/a>, couno);pinode4/a>, couno331sref">__releases4/a>(inode4/a>, couno33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->de53554/a>}pp5ist4/a>)v53584/a>{v33484/a> .3 333333333333if (dentry4/a>->dentry4/a>s="srefOP_DELETE33484/a> .3 333333333333if (inode4/a>, opli_lref="+code=dentry" cla eletesref">inode4/a>,  elete__dentry_lru_del4/a>())3{vinode4/a>am v_io9" il5st4/a>);p++;p++;p33084/a>4spa= class="5a>33333335}3else3{vWARN_ON4/a>(!__dentry_lru_del4/a>(33084/a>4spa= class="5asref">de5st4/a>);pinode4/a>am v_io9" i334 4spa= class=5ode" clas5="sref">d_inode4/a>->5ass="5609" idv2L209" class="line" nam v2L209"Ifa7">3233294/anee>svfter t,adonspa= pasee2"> *ref"comclrumt;< soa>4spa=tm v2L340">334 4spa= class=5class="li5e"spa= class="comment"> 5 Aft45lookups4/spa="v32more enkel>ve a decleanl> up byed anpa= cl shrs="er3inacref9or unhashing, and after changing54UG_ON4/a5(dent5c#L365" idv2L364" class="line" nam am v2L209"memory pressur alled _prior_ to unhashing a vi5sref">d_l5ck4/a>);p33084/a>4spa= class="5stry_unus5ck4/a>);p-&ger tsref">inode4/a>, nee>-&ger tli_liru_del" class="sref">__dentry_lru_del4/a>(33084/a>4spa= class="5she_lru_l5ink4/a>)v331sref">__releases4/a>(dentry4/a>->33333335de4/a>);pWARN_ON4/a>(!li_li" class="sref">dentry_rcuwalk_barrier4/a>(d_5put4/a>)v);p->4">331sref">__releases4/a>(inode4/a>, couno33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->);p .3 3335}3else3{v);pinode4/a>am v_io9" i:f="+code=d_lru" class="5>32814/a>53333333}p(struct dentry4/a clasvam vli_lif="+code=dentry" class="sref">dentry4/a> *52824/a>}p33084/a>4spa= class="5m v2L283"532834/a>p333333333333333enpea>9" ief="+code=d_lock" class=5 >33333335*4/spa="vd_5m4/spa="vd_inodEXPORT_SYMBOsrrier" class="sref">22634/a>static void ="+coderef="+code=d_lock" class=5 336364/a5.4/spa="v 5/4/spa="v32354/a>33335"sref">de5try4/a>)v33294/line" nam v2L235">32354/a>33335"sref">d_5ock4/a>)v33414/a>onass="commeline" nam v2L235">32354/a>33335"UG_ON4/a5ock4/a>)v32354/a>33335"32814/a>52914/a>{vonass="comme"> * a= cla  cl=t lasssaemove a dlled _prior_ to unhashing a vi5sref">d_i5ode4/a>;pr2Lo"> rm ea> i"32">spacln0 dlled _prior_ to unhashing a vi5s v2L283"5ULL4/a>;p337">32o33333335as4/a>);pden5ry4/a>);p);p 5ck4/a>);p33084/a>4spa= class="5sref">i_n5ink4/a>)v33084/a>4spa= class="6"sref">in6de4/a>);pdentry4/a>-ass="commelide=st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="6"sref">d_6put4/a>)vd_6p914/a>{v33084/a>4spa= class="6024/a>33363333elsepin6de4/a>);p33084/a>4spa= class="6 v2L304">63044/a>}p33L359">33594/a> .3 3333__releases4/a>(dentry4/a>->vWARN_ON4/a>(!__dentry_lru_del4/a>(6*4/spa="v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->)vde6try4/a>)v33084/a>4spa= class="6 v2L310">631 {v rme ado9">partial shrs="_a= cla v2L308">33084/a>4spa= class="6 2ref">d_64/a>))3{v i"3 the dentry has not already bee6 24/a>3336ck4/a>);p33084/a>4spa= class="6csref">in6ru4/a>);pspin_unlock4/a>href=empt>code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>-&subdirs6d4/a>++;p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->nr_unus6d4/a>++;pdentry_rcuwalk_barrier4/a>();p33L359">33594/a> .3 3333__releases4/a>(dentry4/a>->}pv33084/a>4spa= class="6"sref">de6try4/a>)v33084/a>4spa= class="6"2ref">d_63214/a>{v33084/a>4spa= class="6"24/a>3336ru4/a>);p334 4spa= class=6"sref">in6IST4/a>;p334 4spa= class=6"v2L304">6d4/a>--;p4spachilareo (even > /a>333roppent"iom v2L340">334 4spa= class=6">nr_unus6d4/a>--;pa>4spmak2Liovre84ntrablevmment">  root,m v2L340">334 4spa= class=6"he_lru_l63264/a>}pe might stm v"populat2Liov cl=t washam v2L340">334 4spa= class=6"lock hel633274/a>parkent"directoryaor"similar* the dentry has not already bee6comment">6*4/spa="v*e aleave mounopoiopsaalone,m v2L340">334 4spa= class=6om the LR6.4/spa="vde6/4/spa="v33084/a>4spa= class="6"sref">de6try4/a>)v->4">331sref">__releases4/a>(inode4/a>, couno->4">331sref">__releases4/a>(dentry4/a>->63324/a>{v->S_ISDIRref">dentry4/a>S_ISDIRli_li" class="sref">dentry_rcuwalk_barrier4/a>(dentry4/a>->spin_unlock4/a>lmef" hrehr||Lf="+code=dentryd_mounopoiopref">dentry4/a>-&mounopoiop__dentry_lru_del4/a>(in64/a>))3{v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->);pd_inodEBUSY9" ief="+code=d_lock" class=6sref">den6ry4/a>);p);p63333333}p63384/a>}pinode4/a>a>, 2ropli_li" class="sref">dentry_rcuwalk_barrier4/a>(v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->de6*4/spa="vEXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">2 ass="commesref">dentry4/a>-ass="commelideref="+code=d_lock" class=6msref">in6.4/spa="v 6/4/spa="v * dentry_lru_4spa|del|prune|09m v2L308">33084/a>4spa= class="6tref">den6try4/a>)vin href=ef">inode4/a>in hre1" id" class="line" nam va>,get_dss="sref">dentry4/aa>,get_dss="lide=st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="6 v2L346">63464/a>{v64/a>))3{v331sref">__releases4/a>(inode4/a>, couno6UNE4/a>)vden6ry4/a>);ppin href=ef">inode4/a>in hre1" id" class="line" nam va>,getsref">dentry4/aa>,getlide=st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="6che_lru_l6ck4/a>);p);p33594/a> .3 3333__releases4/a>(dentry4/a>->);p,get_dss="sref">dentry4/aa>,get_dss="lide=" class="sref">dentry_rcuwalk_barrier4/a>(33544/a>63333333}p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->de63554/a>}pp6ist4/a>)vdentry_lru_move_list4/a>(struct dentryget_pareopmove_list4/a>(slget_pareoplide=st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="6comment">63584/a>{v);pdentry_lru_move_list4/a>(struct dentrretsref">dentry4/are>9" ief="+code=d_lock" class=6c v2L350"64/a>))3{v);pdentrrepea>333333333333333enpea>9" i:f="+code=d_lru" class="6ntry_unus6d4/a>++;p33084/a>4spa= class="6nhe_lru_l6d4/a>++;p*rcu_deref"comcl decauseaw2L c-cclcku=t washcorrect under v2L308">33084/a>4spa= class="6n33544/a>6}3else3{vde6st4/a>);p33084/a>4spa= class="6= v2L356"63333333}p->rcu_84ndass="sref">dentry4/arcu_84ndass="lide=ref="+code=d_lock" class=6=nr_dentr6" class="srdv2L250" clas6="lin6681" idv2L351"line" nam v2L33retsref">dentry4/are>9" i =h+code=dentry" class="sref">__releases4/a>((slapareopt;d_inode4/a>->6ass="6689" idv2L289" class="line" nam v2L359">33594/a> .3 3333dentry4/are>9" iref="+code=dentry" class="sref">dentry4/a>-> 6 Aft46790" idv2L290" claine37" ia>->=denkel>sref">dentry4/a=denkel>lide=" class="sref">retsref">dentry4/are>9" i !=h+code=dentry" class="sref">__releases4/a>((slapareopt;dent6c#L366761" idv2L361" class="line" nam v2L364">33L296">32964/a>333333334a href="+code=spin_unlock" class="retsref">dentry4/are>9" iref="+code=dentry" class="sref">dentry4/a>->);p->rcu_84ndaL296">32964/a>3333333rcu_84ndaL296">lide=ref="+code=d_lock" class=6stry_unus6ck4/a>);p333333333333333enpea>9" ief="+code=d_lock" class=6she_lru_l6ink4/a>)v33333336de4/a>);p32964/a>3333333rcu_84ndaL296">lide=ref="+code=d_lock" class=6ssref">de6put4/a>)vdentry4/aBUG_ONf="+css="line" nam v2retsref">dentry4/are>9" iref="+code=dentry" clacounosref">inode4/a>, couno);p->retsref">dentry4/are>9" iref="+code=dentry" clacounosref">inode4/a>, couno33L296">32964/a>333333334a href="+code=spin_unlock" class="retsref">dentry4/are>9" iref="+code=dentry" class="sref">dentry4/a>->);p->retsref">dentry4/are>9" ief="+code=d_lock" class=6a> .3 3336}3else3{v);pd_inodEXPORT_SYMBOsrrier" class="sref">2get_pareopmove_list4/a>(slget_pareoplideref="+code=d_lock" class=6>32814/a>63333333}ptry_unus62824/a>}p32354/a>33336m v2L283"632834/a>p33liashofm=t;32354/a>33336m>33333336*4/spa="v32354/a>33336msref">de6m4/spa="von32354/a>33336m336364/a6.4/spa="vspao_l/aa DISCONNECTED33liashb2L classe alled _prior_ to unhashing a vi6omment"> 6/4/spa="v33084/a>4spa= class="6"sref">de6try4/a>)v33lias,aor"is a directoryv * (L34 any33lias, v2L308">33084/a>4spa= class="6"sref">d_6ock4/a>)v *ref"comclre aali34 and" classlit. O"> rwis2L class=e4/aalled _prior_ to unhashing a vi6"UG_ON4/a6ock4/a>)v4spaifm=t;62914/a>{v3o_l/a cl=t L34 noachilareo,aor"icl=t >32d>  rootlled _prior_ to unhashing a vi6"try_unus6ode4/a>;p;p33333336as4/a>);p, href="+DISCONNECTED33lias,9tv2nLpref"clled _prior_ to unhashing a vi6"sref">de6ry4/a>);p rmL342">33liashov rme>spao_d"v2lessa want_discon >32set,m v2L340">334 4spa= class=6s336364/a6ck4/a>);phich cref9o_l/a class=an IS_ROO>, href="+DISCONNECTED33liasalled _prior_ to unhashing a vi6"mment"> 6ck4/a>);p33084/a>4spa= class="6sref">i_n6ink4/a>)vdentry_lru_move_list4/a>(struct dentra>, find_aliassref">inode4/a>a>, find_aliaslide=st" class="sref">dentr92">32924/a>33333333struct inode4/a> *inodwant_discon33084/a>4spa= class="7"sref">in7de4/a>);pd_7put4/a>)vdentry_lru_move_list4/a>(struct dentraliassref">inode4/a>aliaslide,ress="sref">dentryiscon_aliassref">inode4/a>yiscon_alias9" ief="+code=d_lock" class=7"2ref">d_7p914/a>{vdentrhhref=" class="sref">inodhhref=" cldentrpsref">inode4/a>p9" ief="+code=d_lock" class=7"3ref">d_7pde4/a>;pin7de4/a>);pdentragainsref">inode4/a>again9" i:f="+code=d_lru" class="7 v2L304">73044/a>}pinode4/a>yiscon_alias9" i =h+code=dentry" cclass="sref">d_inode4/a> =3v(shhref=for_4ntr__lru_rrier" class="sref">aliassref">inode4/a>aliaslide,rss="sref">dentrpsref">inode4/a>p9" i, spin_unlock" class="sref">spin_unlock4/a>(&(scly_lru_lide,rss="sref">dentrd_aliassref">inode4/a>d_aliaslidehref="+code=d_lru" class="7comment">7*4/spa="v33L359">33594/a> .3 3333inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->->S_ISDIRref">dentry4/a>S_ISDIRli_li" class="sref">sref">spin_unlock4/a>(&spin_unlock4/a>lmef" hrehr||Lss="line" nam v2ds="sref">WARN_ON4/a>(!inode4/a>aliasliderhref="+code=d_lru" class="7_9ock hel7.nk4/a>)v->IS_ROO>sref">inode4/a>IS_ROO>inode4/a>aliaslider a href="+cf="+code=d_lru" class="7"sref">de7try4/a>)vinode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->dentry4/a>s="srefDISCONNECTEDliderhref="+code=d_lru" class="7 v2L310">731 {vinode4/a>yiscon_alias9" i =h+code=dentry" caliassref">inode4/a>aliaslidecf="+code=d_lru" class="7"2ref">d_74/a>))3{vinodwant_discond_7ck4/a>);p,get_dss="sref">dentry4/aa>,get_dss="lide=" class="sref">aliassref">inode4/a>aliaslidercf="+code=d_lru" class="7"sref">in7ru4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="aliassref">inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->7d4/a>++;p->aliassref">inode4/a>aliaslidecf="+code=d_lru" class="7" v2L305"7d4/a>++;p7ck4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="aliassref">inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->}pv->yiscon_aliassref">inode4/a>yiscon_alias9" ihref="+code=d_lru" class="7"sref">de7try4/a>)vinode4/a>aliaslide =h+code=dentry" cliscon_aliassref">inode4/a>yiscon_alias9" ief="+code=d_lock" class=7"2ref">d_73214/a>{v->4">33L359">33594/a> .3 3333inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->3337ru4/a>);p->S_ISDIRref">dentry4/a>S_ISDIRli_li" class="sref">sref">spin_unlock4/a>(&spin_unlock4/a>lmef" hrehr||Lss="line" nam v2ds="sref">WARN_ON4/a>(!inode4/a>aliasliderhref="+code=d_lru" class="7"sref">in7IST4/a>;p->IS_ROO>sref">inode4/a>IS_ROO>inode4/a>aliaslider a href="+cf="+code=d_lru" class="7"v2L304">7d4/a>--;pinode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->dentry4/a>s="srefDISCONNECTEDliderhref="+code=d_lru" class="7">nr_unus7d4/a>--;p->a>,get_dss="sref">dentry4/aa>,get_dss="lide=" class="sref">aliassref">inode4/a>aliaslidercf="+code=d_lru" class="7"he_lru_l73264/a>}p->4">33L296">32964/a>333333334a href="+code=spin_unlock" class="aliassref">inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->p->aliassref">inode4/a>aliaslidecf="+code=d_lru" class="7comment">7*4/spa="vde7/4/spa="v33L296">32964/a>333333334a href="+code=spin_unlock" class="aliassref">inode4/a>aliaslideref="+code=dentry" class="sref">dentry4/a>->de7try4/a>)vinode4/a>again9" ief="+code=d_lock" class=7"24/a>33373324/a>{vin74/a>))3{v->class="sref">d_inode4/a> =3);pden7ry4/a>);p);pdentry_lru_move_list4/a>(struct dentry find_aliassref">inode4/a>, find_aliaslide=st" class="sref">dentr92">32924/a>33333333struct inode4/a> *33084/a>4spa= class="7c33174/a>73333333}p73384/a>}pdentry_lru_move_list4/a>(struct dentry_move_list4/a>(str9" i =h+code=dentry" cclass="sref">d_inode4/a> =3vde7*4/spa="vspin_unlock4/a>hhref=empt>code=spin_unlock" class="sref">spin_unlock4/a>(&(scly_lru_liderhref="+code=d_lru" class="7o be prun7d4/spa="v->4">33L359">33594/a> .3 3333spin_unlock4/a>(&33594/a> .3 3i->dentry_move_list4/a>(str9" i =h+code=dentry" ca>, find_aliassref">inode4/a>a>, find_aliaslide=ref="+code=inode" class="sref">inode4/a> *in7.4/spa="v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&33594/a> .3 3i->den7try4/a>)v->y_move_list4/a>(str9" ief="+code=d_lock" class=7ihe_lru_l73464/a>{v74/a>))3{v->EXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">2 find_aliassref">inode4/a>, find_aliaslideref="+code=d_lock" class=7iomment">7UNE4/a>)vden7ry4/a>);p33084/a>4spa= class="7m v2L350"733504/a>ponam vm ea> i"32 clociatlru_4spa7">32>(&amalled _prior_ to unhashing a vi7che_lru_l7ck4/a>);p * own a*ref"comclre a>(&amalled _prior_ to unhashing a vi7cle syste7ry4/a>);p33084/a>4spa= class="7che_lru_l7ck4/a>);pinode4/a>, prune_aliaseslide=st" class="sref">dentr92">32924/a>33333333struct inode4/a> *33084/a>4spa= class="7>33544/a>73333333}pde73554/a>}pdentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct pdentrhhref=" class="sref">inodhhref=" cldentrpsref">inode4/a>p9" ief="+code=d_lock" class=7s="sref">7ist4/a>)v->restartsref">dentry4/arestart8" i:f="+code=d_lru" class="7comment">73584/a>{v33594/a> .3 3333spin_unlock4/a>(&33594/a> .3 3i->);p(shhref=for_4ntr__lru_rrier" class="sref">" class="sref">dentry4/a> *dentrpsref">inode4/a>p9" i, spin_unlock" class="sref">spin_unlock4/a>(&(scly_lru_lide,rss="sref">dentrd_aliassref">inode4/a>d_aliaslidehref="+code=d_lru" class="7c v2L350"74/a>))3{v33594/a> .3 3333spin_unlock4/a>(&dentry4/a>->);p331sref">__releases4/a>(inode4/a>, couno->a>,get_dss="sref">dentry4/aa>,get_dss="lide=" class="sref">dentry_rcuwalk_barrier4/a>(++;p, 2ropsref">inode4/a>a>, 2ropli_li" class="sref">dentry_rcuwalk_barrier4/a>(7}3else3{v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->de7st4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&33594/a> .3 3i->static void ="+codei" class="sref">dentry_rcuwalk_barrier4/a>(7" class="srdv2L250" clas7="lin7648" idv2L348" class="""""""""gotoLf="+code=dentryenstartsref">dentry4/arestart8" ief="+code=dentry" class=7nomment">7="sref">d_inode4/a>->7ass="7649" idv2L349"dv2L348"dv2L355" class="line" na7class="li7e"spa= class="comment"> 7 Aft47780" idv2L280" class="line" nam v2L314">33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->dent7c#L367761" idv2L361"dv2L355" class="line" na7che_lru_l7ck4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&33594/a> .3 3i->);p)vdentrEXPORT_SYMBOss="sref">d_inodEXPORT_SYMBOsrrier" class="sref">2 prune_aliasessref">inode4/a>, prune_aliaseslideref="+code=d_lock" class=7s33544/a>7de4/a>);pde7put4/a>)v33084/a>4spa= class="7"336364/a7de4/a>);pon544/w awayn">33294/ - free47" *=t;33294/ href|del|prisrune|, and"33294/ href|dcouno ===0alled _prior_ to unhashing a vi7cde" clas7de4/a>);p33294/ href|del|palled _prior_ to unhashing a vi7a> .3 3337}3else3{v);p * 94/ againalled _prior_ to unhashing a vi7ahe_lru_l73333333}p33084/a>4spa= class="7>try_unus72824/a>}pspin_unlock4/a>lasvprune_one_sref">lide=st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="7m v2L283"732834/a>preleasessref">inode4/a>a>releasescodei" class="sref">dentry_rcuwalk_barrier4/a>(dentry4/a>->33084/a>4spa= class="7m33544/a>7*4/spa="vde7m4/spa="vdentry_lru_move_list4/a>(struct dentrpareopmove_list4/a>(spareopt; 7/4/spa="v(spareopt;" class="sref">dentry4/a> *de7try4/a>)v33084/a>4spa= class="7"sref">d_7ock4/a>)v)v rlled _prior_ to unhashing a vi7"he_lru_l72914/a>{v * loop againalled _prior_ to unhashing a vi7"try_unus7ode4/a>;p;p rwis2,aw2Lnee>*e aprune ancestors=7oo.  v2L32L3necessa *7as4/a>);pde7ry4/a>);p*e abl deneficial in  cducent"d3294/ hing lled _prior_ to unhashing a vi7"336364/a7ck4/a>);p 7ck4/a>);p33084/a>4spa= class="7sref">i_n7ink4/a>)v(spareopt;33084/a>4spa= class="8"sref">in8de4/a>);pd_8put4/a>)v(spareopt;__releases4/a>(33084/a>4spa= class="8"2ref">d_8p914/a>{vd_8pde4/a>;pin8de4/a>);p33084/a>4spa= class="8 v2L304">83044/a>}p(struct (spareopt;v->4">331sref">__releases4/a>(8*4/spa="v33L359">33594/a> .3 3333spin_unlock4/a>(&dentry4/a>->->4">331sref">__releases4/a>(inode4/a>, couno->4">331sref">__releases4/a>(inode4/a>, counode8try4/a>)v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->831 {vd_84/a>))3{vd_8ck4/a>);p(struct " class="sref">dentry4/a> *in8ru4/a>);p8d4/a>++;p++;p8ck4/a>);pdentrhref=hea>WARN_ON4/a>(!dentrhref32964/a>3333333hreflider">33084/a>4spa= class="8"lock hel83333333}pdentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct vde8try4/a>)vdentry4/arcu_84ndass="lide=ref="+code=d_lock" class=8"2ref">d_83214/a>{v3338ru4/a>);p(struct (!href32964/a>3333333hreflideref="+code=dentry" cprevmove_list4/a>(sprevdentry_lru_move_list4/a>(struct dentrd_lruWARN_ON4/a>(!in8IST4/a>;pspin_unlock4/a>(&(!3333333hreflider">33084/a>4spa= class="8"v2L304">8d4/a>--;pnam v2L308">33084/a>4spa= class="8">nr_unus8d4/a>--;p33L359">33594/a> .3 3333spin_unlock4/a>(&dentry4/a>->}p->4">331sref">__releases4/a>((!href32964/a>3333333hreflideref="+code=dentry" cprevmove_list4/a>(sprevdentry_lru_move_list4/a>(struct dentrd_lruWARN_ON4/a>(!p33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->8*4/spa="vde8/4/spa="vde8try4/a>)v33084/a>4spa= class="8"24/a>33383324/a>{vhich w34 not  cmoved from v2L308">33084/a>4spa= class="8"sref">in84/a>))3{v33084/a>4spa= class="8"v2L304">8ck4/a>);p * keep it off 7" *LRU hrefalled _prior_ to unhashing a vi8sref">den8ry4/a>);p33084/a>4spa= class="8she_lru_l8ck4/a>);p->4">331sref">__releases4/a>(inode4/a>, couno(struct _hru_devrrier" class="sref">" class="sref">dentry4/a> *83384/a>}p->4">33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->vde8*4/spa="vdentrrcu_84ndaL296">32964/a>3333333rcu_84ndaL296">lide=ref="+code=d_lock" class=8isref">in8.4/spa="v8/4/spa="vspin_unlock4/a>lasvprune_one_sref">lide=" class="sref">" class="sref">dentry4/a> *den8try4/a>)v{vdentry4/arcu_84ndass="lide=ref="+code=d_lock" class=8t33174/a>84/a>))3{v8UNE4/a>)v32964/a>3333333rcu_84ndaL296">lide=ref="+code=d_lock" class=8sref">den8ry4/a>);pp);p32354/a>33338cle syste8ry4/a>);p);plied _prior_ to unhashing a vi8cv2L304">83333333}p i"32>on54/a>onfree v2L308">33084/a>4spa= class="8csref">de83554/a>}p33084/a>4spa= class="8che_lru_l833564/a>pon3hrs=" 7" *superb96">*dhing *LRU dym@counomea> i"3.  v2L32L v2L308">33084/a>4spa= class="8c33174/a>8ist4/a>)v*moremmcmoryv * called from 7" *superb96">*3hrs=" rlled _prior_ to unhashing a vi8comment">83584/a>{v);p))3{vonfree any3resourc"32 clall 7" *dea> i"32ar *=tlled _prior_ to unhashing a vi8che_lru_l8st4/a>);p++;p33084/a>4spa= class="8nhe_lru_l8d4/a>++;p(sprune_a= claasblide=st" class="sref">dentrsuper_b96">32964/a>33333333uper_b96">dentrsbmove_list4/a>(ssblide, intLf="+code=dentrycounosref">inode4/a>couno33084/a>4spa= class="8nv2L304">8}3else3{vde8st4/a>);pdentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct ->LIST_HEADref">dentry4/a>LIST_HEADlide=" class="sref">ref"comcl>WARN_ON4/a>(!8" class="srdv2L250" clas8="lin8681" idv2L351"line" nam v2L33LIST_HEADref">dentry4/a>LIST_HEADlide=" class="sref">tmpsref">inode4/a>tmp8="sref">d_inode4/a>->8ass="8629" iv2L355" class="line" na8class="li8e"spa= class="comment"> 8 Aft48780" i" class="sref">re96">32964/a>3333333re96">dent8c#L368761" idv2L361"f="+code=dentry4">33L359">33594/a> .3 3333dentry4/a>= claahru_ss=");pspin_unlock4/a>href=empt>code=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=dentry" cs_truct _hrumove_list4/a>(ss_truct _hru(struct (!sbmove_list4/a>(ssblideref="+code=dentry" cs_truct _hrumove_list4/a>(ss_truct _hru(sprevdentry_lru_move_list4/a>(struct dentrd_lruWARN_ON4/a>(!8de4/a>);pdentry4/aBUG_ONf="+cunlock" class="sref">spin_unlock4/a>(&(sdasblide !=h+code=dentry" csbmove_list4/a>(ssblideref="+code=d_lock" class=8ssref">de8put4/a>)v);p33594/a> .3 3333spin_unlock4/a>(&dentry4/a>->83333elsep33L296">32964/a>333333334a href="+code=spin_unlock" class="s= claahru_ss="sref">dentry4/a>= claahru_ss="8de4/a>);p->cpu_84laxsref">inode4/a>cpu_84laxlide=ref="+code=d_lock" class=8a> .3 3338}3else3{v32964/a>3333333re96">);ptry_unus82824/a>}p->sref">spin_unlock4/a>(&dentry4/a>->dentry4/a>s="srefREFERENCEDp->sref">spin_unlock4/a>(&dentry4/a>->dentry4/a>s="srefREFERENCED8*4/spa="v(!spin_unlock4/a>(&(!WARN_ON4/a>(!de8m4/spa="v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->8/4/spa="v(shref=move_taivcode=spin_unlock" class="sref">spin_unlock4/a>(&(!inode4/a>tmpde8try4/a>)v->sref">spin_unlock4/a>(&dentry4/a>->dentry4/a>s="srefSHRINK_LISTd_8ock4/a>)v33L296">32964/a>333333334a href="+code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>->)vinode4/a>couno33084/a>4spa= class="8"he_lru_l82914/a>{v33084/a>4spa= class="8"try_unus8ode4/a>;p;pdentry4/acond_84sinelass="code=spin_unlock" class="s= claahru_ss="sref">dentry4/a>= claahru_ss="8as4/a>);pde8ry4/a>);pspin_unlock4/a>href=empt>code=spin_unlock" class="ref"comcl>WARN_ON4/a>(!33084/a>4spa= class="8"336364/a8ck4/a>);p(!WARN_ON4/a>(!(ss_truct _hru8ck4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="s= claahru_ss="sref">dentry4/a>= claahru_ss="i_n8ink4/a>)vin9de4/a>);pinode4/a>tmpd_9put4/a>)vd_9p914/a>{vd_9pde4/a>;p32354/a>33339"sref">in9de4/a>);plied _prior_ to unhashing a vi9 v2L304">93044/a>}plied _prior_ to unhashing a vi9m v2L305"933054/a>v33084/a>4spa= class="9comment">9*4/spa="v.  v2L32L3use>*e afree v2L308">33084/a>4spa= class="9_lock hel9.4/spa="v)v33084/a>4spa= class="9"sref">de9try4/a>)vdentrsuper_b96">32964/a>33333333uper_b96">dentrsbmove_list4/a>(ssblideh">33084/a>4spa= class="9 v2L310">931 {vd_94/a>))3{vdentry4/a>LIST_HEADlide=" class="sref">tmpsref">inode4/a>tmpd_9ck4/a>);pin9ru4/a>);p33L359">33594/a> .3 3333dentry4/a>= claahru_ss="9d4/a>++;pspin_unlock4/a>href=empt>code=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=dentry" cs_truct _hrumove_list4/a>(ss_truct _hru++;p3333333href=splice_inifcode=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=dentry" cs_truct _hrumove_list4/a>(ss_truct _hruinode4/a>tmp9ck4/a>);p33L296">32964/a>333333334a href="+code=spin_unlock" class="s= claahru_ss="sref">dentry4/a>= claahru_ss="inode4/a>tmp}p33L359">33594/a> .3 3333dentry4/a>= claahru_ss="vde9try4/a>)v33L296">32964/a>333333334a href="+code=spin_unlock" class="s= claahru_ss="sref">dentry4/a>= claahru_ss="d_93214/a>{vd_9ru4/a>);pd_inodEXPORT_SYMBOsrrier" class="sref">shrs="_a= claasbmove_list4/a>(sshrs="_a= claasblideref="+code=d_lock" class=9"sref">in9IST4/a>;p9d4/a>--;p33084/a>4spa= class="9">nr_unus9d4/a>--;psentlelsubtree of*dea> i"32mor"unmouno v2L308">33084/a>4spa= class="9"omment">93264/a>}p33084/a>4spa= class="9"lock hel933274/a>p33084/a>4spa= class="9"9ock hel9*4/spa="v33084/a>4spa= class="9om the LR9.4/spa="vdentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 33084/a>4spa= class="9osref">de9/4/spa="vde9try4/a>)vdentry_lru_move_list4/a>(struct dentrpareopmove_list4/a>(spareopt;33393324/a>{vin94/a>))3{vdentry4/aBUG_ONf="+css="line" nam v2IS_ROOTref">dentry4/a>IS_ROOTrrier" class="sref">y_lru_move_list4/a>(struct 9ck4/a>);pden9ry4/a>);pon54e fir * leaf in 7" *surreoplsubtree am v2L308">33084/a>4spa= class="9olock hel93333333}pspin_unlock4/a>href=empt>code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>-subdir 33084/a>4spa= class="9comment">93384/a>}p->y_lru_move_list4/a>(struct (!sref">spin_unlock4/a>(&dentry4/a>-subdir (snexp33084/a>4spa= class="9m v2L339"933394/a>vdentry_lru_move_list4/a>(struct dentrd_uWARN_ON4/a>(!WARN_ON4/a>(!lideref="+code=d_lock" class=9msref">de9*4/spa="v i"32from 7"is leaf upn544/ugh ies pareopL v2L308">33084/a>4spa= class="9ile syste9.4/spa="vreo or"ruo out altoge"> r am v2L308">33084/a>4spa= class="9isref">in9.4/spa="v9/4/spa="vdentr92">32924/a>33333333struct inode4/a> *den9try4/a>)v{v33084/a>4spa= class="9ilock hel94/a>))3{v y from 7" *hru, and"inmorm v2L308">33084/a>4spa= class="9oomment">9UNE4/a>)v y is about e abl v2L308">33084/a>4spa= class="9sref">den9ry4/a>);pp33084/a>4spa= class="9che_lru_l9ck4/a>);pdentry_lru_ahru_prunemove_list4/a>(struct ahru_prunerrier" class="sref">y_lru_move_list4/a>(struct );p->a>,_shrs="move_list4/a>(sa>,_shrs="rrier" class="sref">y_lru_move_list4/a>(struct in9ck4/a>);p93333333}p->4">331sref">__releases4/a>(inode4/a>, counode93554/a>}p->prs=t"move_list4/a>(sprs=t"rrier" class="sref">KERN_ERRmove_list4/a>(sKERN_ERR4" if="+code=d_lock" class=9che_lru_l933564/a>p"BUG: Dea> y %p{i=%lx,n=%s}" v2L308">33084/a>4spa= class="9clock hel9ist4/a>)v""stm v"in usea(%d)" v2L308">33084/a>4spa= class="9comment">93584/a>{v""[unmouno3of %s %s]\n" v2L308,">33084/a>4spa= class="9che_lru_l9ck4/a>);pdentry_lru_move_list4/a>(struct 33084/a>4spa= class="9c v2L350"94/a>))3{vdentry_lru_move_list4/a>(struct inodlae" cl1" id?">33084/a>4spa= class="9che_lru_l9st4/a>);pdentry_lru_move_list4/a>(struct inodlae" cl1" i href="+code=inode" cle" ass="sref">inodele" 2" id: 0UL,">33084/a>4spa= class="9cle syste9d4/a>++;pdentry_lru_move_list4/a>(struct inodla"fs/inod"fs/33084/a>4spa= class="9csref">in9d4/a>++;pdentry_lru_move_list4/a>(struct inode4/a>, couno33084/a>4spa= class="9cv2L304">9}3else3{vdentry_lru_move_list4/a>(struct (sdasblideref="+code=dentry" cs_typemove_list4/a>(ss_typelideref="+code=dentry" cnfs/ass="sref">inod"fs/33084/a>4spa= class="9csref">de9st4/a>);pdentry_lru_move_list4/a>(struct (sdasblideref="+code=dentry" cs_i>WARN_ON4/a>(!dentrBUGsref">dentry4/aBUGrrierhef="+code=d_lock" class=9clock hel9" class="srdv2L250" clas9="lin9648" idv2L348" class="""""""""dv2L355" class="line" na9nomment">9="sref">d_inode4/a>->9ass="9629" iv2L355" class="line" na9class="li9e"spa= class="comment"> 9 Aft49780" idv2L280" class=""""""""" claine37" ia>->IS_ROOTref">dentry4/a>IS_ROOTrrier" class="sref">y_lru_move_list4/a>(struct dent9c#L369761" idv2L361" class=" class="""""""""ss="sref">dentrpareopmove_list4/a>(spareopt;(se4/a *);p(shref=devcode=spin_unlock" class="sref">spin_unlock4/a>(&(!WARN_ON4/a>(!lideref="+code=d_lock" class=9stry_unus9ck4/a>);pdentrpareopmove_list4/a>(spareopt;spin_unlock4/a>(&(slapareop *9de4/a>);pdentrpareopmove_list4/a>(spareopt;inode4/a>, counode9put4/a>)v->href=devmove_list4/a>(shref=devcode=spin_unlock" class="sref">spin_unlock4/a>(&(!WARN_ON4/a>(!lideref="+code=d_lock" class=9s v2L356"9de4/a>);p9de4/a>);p->92">32924/a>33333333struct spin_unlock4/a>(&inodlae" cl1" ief="+code=d_lock" class=9a> .3 3339}3else3{v->92">32924/a>33333333struct ->y_lru_move_list4/a>(struct inodlae" cl1" id=h+code=dentry" ce4/amove_list4/a>(se4/a *3333333hhref=dev_inifcode=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>-alia lideref="+code=d_lock" class=9>try_unus92824/a>}p->sref">spin_unlock4/a>(&inode4/a>laop3" idspin_="+code=d_flags" classref">spin_unlock4/a>(&inode4/a>laop3" iref="+code=dentry" claepuosref">inode4/a>, epuoliderf="+code=d_lock" class=9>he_lru_l932834/a>p->y_lru_move_list4/a>(struct inode4/a>laop3" iref="+code=dentry" claepuosref">inode4/a>, epuolider" class="sref">" class="sref">dentry4/a> *->92">32924/a>33333333struct v2L304">9*4/spa="vsref">de9m4/spa="v->epuosref">inode4/a>epuolider" class="sref">92">32924/a>33333333struct  v2L356"9.4/spa="v9/4/spa="vde9try4/a>)v->s_freemove_list4/a>(ss_freerrier" class="sref">y_lru_move_list4/a>(struct d_9ock4/a>)v)v33084/a>4spa= class="9"he_lru_l92914/a>{v rwila w2Lascenda>on54e pareop and"move 7o 7"  v2L308">33084/a>4spa= class="9"try_unus9ode4/a>;p33084/a>4spa= class="9" v2L283"9ULL4/a>;p(spareopt;33084/a>4spa= class="9"33544/a>9as4/a>);pde9ry4/a>);p(struct (spareopt;);p->href=empt>spin_unlock4/a>href=empt>code=spin_unlock" class="sref">spin_unlock4/a>(&dentry4/a>-subdir 9ck4/a>);pi_n9ink4/a>)v(!sref">spin_unlock4/a>(&dentry4/a>-subdir (snexp33084/a>4spa= class=L10"sref">in10"sre/a>)v10"s6" idv2L316" class="""""""""dv2L348" clast" class="sref">dentry_lru_move_list4/a>(struct dentrd_uWARN_ON4/a>(!WARN_ON4/a>(!lideref=/pre>icb/cb/612b8459d3c4cf60754be86fe2110e5216c9_3/10"sr>>33084/a>4spa= class=L10"1ref">in10"ck4/a>)v10"61" idv2L361"df="+code=d_lock" class=10"2ref">in10"914/a>{v10"12" idv2L355" class="line" na10"3ref">in10"de4/a>;p10"83" idv2L283" class="line" n10"4ref">in10"LL4/a>;p10"44" idv2L344" class="line" na v2L308">33084/a>4spa= class="10"5ref">in10"s4/a>);p10"45" idv2L245" class="line" namdest"oyn7" *dea> i"32att clada>ona superb96"> on*unmounoent v2L308">33084/a>4spa= class="10"de=dentry"="gotoLf="+code=dentryen96">32964/a>3333b1R123Tidv2L209" 5c4e8T#39;td"wv2nattund=an inu&nd_84s* 7" *LR:nmounoent v2L308">33084/a>4spa= c7ass="10"de36364/a9ck4/a>);p i"32 *deawv2n6"> on*us4e paopnisunoes, snd"move 7o 7"  v2L308">33084/a>4spayen8ass="10"de"sref">9ck4/a>);p33084/a>4spayen9ass="10"deef">i_n9ink4/a>)v*moref=ssuf=/perb96"> w&quoignorove 7o 7"  v2L308">33084/a>4spaye1lass=L10"ssref">de9try4/a>)v"ssr9he.c#9208" idv2L308" class="li 7">ont"oyn7" *belongnexpand"ms=7from 7" *su* 54eit- 3e" *dcroses pareopL v2L308">33084/a>4spa"sslass=L10"1v2L310">931 {v"ssa8he.c#8611" idv2L211" class=" 09"led unoes"a fipn54elfus=7no long"> om mittv2natt""arrang"amdest"oyn7" s pareopL v2L308">33084/a>4spa"ssclass=10"22ref">d_94/a>))3{v"ssa8he.c#8642" idv2L342" class="""""r * ls=7from 7" *ss pareopL v2L308">33084/a>4spa"ssne" na10"33ref">d_9ck4/a>);p"ssa8he.c#8643" idv2L343" class="line" nam v2L308">33084/a>4spa"ssine" n10"4sref">in9ru4/a>);p"ssa8he.c#8614" i" class="liist4/a>(sshrs="_a= claafry" cs_i>WARN_ONst4/a>(sshrs="_a= claafref=eaasblide=st" class="sref">dentrsuper_b96">32964/a>33333333uper_b96">dentrsbmove_list4/a>(ssblideh">33084/a>4spa"sslass="10"5v2L304">9d4/a>++;p"ssa8he.c#8695" ief="+code=d_lru"sslass="10"d v2L305"9d4/a>++;p"ssa8he.c#8616" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct 9ck4/a>);p"ss70"de>10"83" idv2L283" class="18ass="10"dlock hel93333333}p"sss9="lin9648" " class=" claine37" own333333m v23333359 own333333m v2333ref=empt>code=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=de claafry" cs_i>WARN_ON= claafref=bdir 33084/a>4spa"ss9ass="10"d9ock hel93184/a>}p"ssa9he.c#9949" idv2L349"dv2L348"f="+coef">dentrBUGsref">dentry4/aBUGrrierhef="+code=d_loc102lass=L10"s v2L319"933194/a>v"s v0"de>10"83" idv2L283" class="2lass=L10"1sref">de9try4/a>)v"s a9he.c#9261" idv2L361"f="+code=dentryy_lru_move_list4/a>(struct WARN_ON=roof>(struct d_93214/a>{v"s a9he.c#9122" idv2L322" class" class="sbmove_list4/a>(ssblideref="+code=deroofry" cs_i>WARN_ON=roof>(ste" cl1" id=h+code=dentry" ce4/amove_list4/a>(se4/a *d_9ru4/a>);p"s 39he.c#9261" idv2L361"f="+code=dentryy_lru_move_list4/a>(stareopt;inode4/a>, counoin9IST4/a>;p"s a9he.c#9314" idv2L314"f="+code" nam vshrs="_a= claafor_umouno_subtreemove_list4/a>(sshrs="_a= claafor_umouno_subfreerrier" class="sref">y_lru_move_list4/a>(struct 9d4/a>--;p"s a9he.c#9395" if="+code=d_loc"s lass="10"d>nr_unus9d4/a>--;pnr>"s a8he.c#8616" " class="whilelass="lina>3333bl->href=empt>spin_ua>3333bl->href=empt>code=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=deanonry" cs_i>WARN_ON=anonref=bdtruct 93264/a>}p"s a9he.c#9175" idv2L365" class="line" de=dentryy_lru_move_list4/a>(struct 3333bl-&=dentryy_lru_move_la>3333bl-&=deno_subfreerrier" clasa>3333bl-da>ontryy_lru_move_la>3333bl-da>onref=empt>code=spin_unlock" class="sbmove_list4/a>(ssblideref="+code=deanonry" cs_i>WARN_ON=anonref=b,2L348" clast" class="sref">dentry_lru_move_list4/a>(struct innnnn>(struct p"s a9he.c#9148" idv2L348" class=" class="line" vshrs="_a= claafor_umouno_subtreemove_list4/a>(sshrs="_a= claafor_umouno_subfreerrier" class="sref">y_lru_move_list4/a>(struct "s a9he.c#9949" >10"12" idv2L355" class="l3lass=L10"sm the LR9.4/spa="v"sm 0"91>10"12" idv2L355" class="l3lass=L10"1sref">de9/4/spa="v"sma9he.c#9461" if="+code=d_loc"smclass=10"2sref">de9try4/a>)v"sma8he.c#8542" idv2L342" class=line" nam v2L308">33084/a>4spa"s3ne" na10"324/a>33393324/a>{v"sma8he.c#8543" idv2L343" class="r b96berLofmearwila w7" rleve2nLwnda>on5hood, buor"unmouno v2L308">33084/a>4spa"smine" n10"4sref">in94/a>))3{v"sma9he.c#9044" idv2L344" class="we c044rac2Lfind >onamnex, sndo_d"wv2natt""-/a>*ss pareopL v2L308">33084/a>4spa"s3lass="10"5v2L304">9ck4/a>);p"sm10"s4>10"45" idv2L245" class="scenda>on5hood aft"> droppnexpa y f *sue pa/a>*ss pareopL v2L308">33084/a>4spa"s3lass="10"dref">den9ry4/a>);p"sm96">32964/a>3333b1R123Tidv2L20* 54e fe sequ(!&quomat/a>s33st"oyedalled _prior_ to unhas"sm7ass="10"dhe_lru_l9ck4/a>);p"sma9he.c#9207" idv2L307" class="line" nam v2L308">33084/a>4spa"s38ass="10"dlock hel93333333}p"sma9he.c#9380"idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct WARN_Oolref"comssblide, intLf="+co" *sedref=euct WARN_ON *sedef"comunsigne614" i" class="liieqo_subtreemove_lieqt4/a>(ssblideh">33084/a>4spa"s39ass="10"domment">93384/a>}p"sm98he.c#8695" ief="+code=d_lru"s4lass=L10"s v2L339"933394/a>v"s v8he.c#8616" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct (struct WARN_Oolref"c&(slapareop *de9*4/spa="v"s a9he.c#9461" if="+code=d_loc"s4class=10"2 be prun9d4/spa="v"s a9he.c#9122" idv2L322" classrcu333333=dentryen96">32964/acu333333=dentry4/aBUGrrierhef="+code=d_loc104ne" na10"3le syste9.4/spa="v"s 39he.c#9261" idv2L361"f="+code=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockoy" cd_chil>WARN_Oolref"c&dentry4/a>->in9.4/spa="v"s a9he.c#9314" idv2L314"f="+code=dentry4">33L359">33594/a> .3 3333(st&dentry4/a>->9/4/spa="v"s a9he.c#9395" if="+code=d_loc"s4lass="10"dref">den9try4/a>)v"s a8he.c#8616" c#8542" idv2L342" class=line" nam v2L308">33084/a>4spa"s47ass="10"dhe_lru_l93464/a>{v"s a9he.c#9207" idv2L307" classssssssss* might go ba*su"is l2Lfroexpda>on54ifdo_dhav_dhad a >onamove 7o 7"  v2L308">33084/a>4spaye48ass="10"dlock hel94/a>))3{v"s a9he.c#9408" idv2L308" class="line" *achidelea deve 7o 7"  v2L308">33084/a>4spaye49ass="10"domment">9UNE4/a>)v"s a9he.c#9409" idv2L209" class="line" ="line" nam v2L308">33084/a>4spa"s5lass=L10"sref">den9ry4/a>);p"sre9="lin9648" " class=" claine37"newry" cnexpmove_lisw>(strdasblide !=h+code=oy" cd_chil>WARN_Oolref"c&(slap ||am v2L308">33084/a>4spa"s5lass=L10"1 v2L350"933504/a>p"sra9he.c#9961" idv2L361"lass=" claine37"oy" cd_chil>WARN_Oolref"c&dentry4/a>->dentry4/DENTRY_KILLfR4/a>- ||am v2L308">33084/a>4spa"s5class=10"2he_lru_l9ck4/a>);p"sra9he.c#9812" idv2L312"s="whilelass="line *sedref=euct WARN_ON *sedef"c>laop3" idspin_="+code=d_fl33333ieqre>dentry_lru_move_l33333ieqre>de33332964/aonamo3=den>(struct );p"sra8he.c#8763" idv2L363" class=" classde=dentry4">33L296">32964/a>333333334a href="+code=spin_unlocknewry" cnexpmove_lisw>(st&dentry4/a>->in9ck4/a>);p"sra8he.c#8914" idv2L314" class="line" newry" cnexpmove_lisw>(struct (se4/a *93333333}p"sra8he.c#8952" idv2L322"dv2L355" class="srlass="10"dsref">de93554/a>}p"sr69he.c#9314" idv2L314"f="+coacu333333ntry4">33L296">32964/acu333333ntry4"try4/aBUGrrierhef="+code=d_loc1057ass="10"dhe_lru_l933564/a>p"sra9he.c#9175" """"""4" class="line" newry" cnexpmove_lisw>(stBUGrrierhef="+code=d_loc1058ass="10"dlock hel9ist4/a>)v"sr80"91>10"12" idv2L355" class="l59ass="10"domment">93584/a>{v"sr;9ass="9629" iv2L355" class=106lass=L10"she_lru_l9ck4/a>);p"she9ass="9629" iv2L355" class=106lass=L10"1 v2L350"94/a>))3{v"sha8he.c#8611" idv2L211" class=line" nam v2L308">33084/a>4spa"s6class=10"2he_lru_l9st4/a>);p"sha8he.c#8642" idv2L342" class="Search_umounn54e st 1n6"> o possblr * leaist4/aT#39;=7frry4/a33st"oyedalled _prior_ to unhas"s6ne" na10"3le syste9d4/a>++;p"sha8he.c#8543" idv2L343" class="We"line" na descennnnnnleve2nfinievedhing dentry4/a>-t"oyedalled _prior_ to unhas"s6ine" n10"4sref">in9d4/a>++;p"sha9he.c#9044" idv2L344" class=">333us=7non->hue pa/o on*ue searching33st"oyedalled _prior_ to unhas"s6lass="10"5v2L304">9}3else3{v"sh10"s4>10"45" idv2L245" class="line" nam v2L308">33084/a>4spa"s6lass="10"dsref">de9st4/a>);p"sh69he.cam v2L308">33084/a>4spa"s67ass="10"d v2L356"93333333}p"sha9he.c#9207" idv2L307" class="line" s="line" nam v2L235">323"sh8ass="10"dlock hel9" class="srdv2L"dloc>"sha9he.c#9208" idv2L308" class="hav_entr6"> os -a/a>*s_umou6"> os ovedha ist4/a>(ne" s="line" nam v2L235">323"sh9ass="10"domment">9="sref">d_inode"domm>"sha8he.c#8509" idv2L209" class="@t4/a>(:7"at 7"ipoa/a>*s33st"oyedalled _prior_ to unhas"s7lass=L10"slass="li9e"spa= class="c"slas>"sla8he.c#8509" idv2L209" class=3st"oyedalled _prior_ to unhas"s7lass=L10"1UG_ON4/a9("sla8he.c#8611" idv2L211" class="R"""""4true  siblepda>on54moun544ntry4/ectoerLof/o oaieve 7o 7"  v2L308">33084/a>4spaye7class=10"2he_lru_l9ck4/a>);p"sla8he.c#8642" idv2L342" class="an6"> o possbve 7o 7"  v2L308">33084/a>4spaye7ne" na10"3try_unus9ck4/a>);p"sla8he.c#8643" idv2L343" class="line" nam v2L308">33084/a>4spa"s7ine" n10"4he_lru_l9ink4/a>)v"sla9he.ssblide, intLf="+cohav_entr6"> ostryy_lru_move_laav_entr6"> osref=eaasblide=st" class="sref">dentry_lru_move_list4/a>(struct (spareopt;33084/a>4spa"sllass="10"5v2L304">9de4/a>);p"sla8he.c#8695" ief="+code=d_lru"s7lass="10"dsref">de9put4/a>)v"sla8he.c#8616" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct (stBUGrrierhef="+code=d_loc1077ass="10"d v2L356"9de4/a>);p"sl78he.c#8616" idv2L316"st" class="sr>3333h333ref=euct WARN_ON3333h333>(struct (BUGrrierhef="+code=d_loc1078ass="10"dlock hel93333elsep"sla9he.c#9148" unsigne614" i" class="liieqo_subtreemove_lieqt4/aBUGrrierhef="+code=d_loc1079ass="10"domment">9de4/a>);p"sla9he.c#9949" ssblide, intLf="+co" *sedref=euct WARN_ON *sedef"cruc0BUGrrierhef="+code=d_loc108lass=L10"s> .3 3339}3else3{v .>"s> 9ass="9629" iv2L355" class=108lass=L10"1UG_ON4/a9ck4/a>);p"s>a9he.c#9261" idv2L361"f="+codeqo_subtreemove_lieqt4/aruct WARN_O33333ieqbegin33332964/aonamo3=den>(staBUGrrierhef="+code=d_loc108class=10"2he_lru_l93333333}p"s>a8he.c"+code=spin_loagainry" cs_i>WARN_Oagain8he.:UGrrierhef="+code=d_loc108ne" na10"3try_unus92824/a>}p"s>39he.c#9261" idv2L361"f="+co ls=entry" clapareopmove_l ls=entry" >(struct (spareopt;ine" n10"4he_lru_l932834/a>p"s>a9he.c#9514" if="+code=d_loc"s>lass="10"5v2L304">9*4/spa="v"s>a8he.c#8952" " class=" claine37" _6"> opossb" class="sref">de6"> opossbo_subfreerrier" clase" nam v2pareopmove_list4/a>(spaareopt;33084/a>4spa"s8lass="10"dsref">de9m4/spa="v"s>a9he.c#9916" idv2L316gopoafreerrier" claseositivno_subtreemove_leositivn>(spareopt;7ass="10"d v2L356"9.4/spa="v"s>79he.c#9261" idv2L361"f="+code=dentry4">33L359">33594/a> .3 3333(st&dentry4/a>->9/4/spa="v88he.c"+code=spin_lorepea clapareopmove_lrepea 8he.:UGrrierhef="+code=d_loc1089ass="10"dsref">de9try4/a>)v"s>99he.c#9261" idv2L361"f="+conentry" cnexpmove_list4/a>(ruct (st&dentry4/a>-subdir (>d_9ock4/a>)v"ssr8he.c"+code=spin_loree" nclapareopmove_lree" n8he.:UGrrierhef="+code=d_loc109lass=L10"1UG_ON4/a9ock4/a>)v"ssa9he.c#9261" class="}"whilelaine37"nentry" cnexpmove_list4/a>(r!=_hru(st&dentry4/a>-sudtruct {v"ssa9he.c#9812" idv2L312idv2L316"st" class="sr>3333h333ref=euct WARN_ON3333h333>(struct inode4/ruct (>;p"ssa8he.c#8763" idv2L363idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct (!inode4/,2L348" clast" class="sref">dentry_lru_move_list4/a>(struct dentrd_uWARN_ON4/a>(!WARN_ON4/a>(!;p"ssa8he.c#8914" idv2L314" class="line" nentry" cnexpmove_list4/a>(ruct inode4/_typelideref="+code=dentry" cnexpmove_list4/a>(>9as4/a>);p"ssa9he.c#9395" if="+code=d_loc"s9lass="10"dsref">de9ry4/a>);p"ssa9he.c#9316" idv2L316" class="line" 4/a> .3 3_nestedref=euct WARN_O4/a> .3 3_nested333dentry4/a>ruct deENTRY_D_LOCK_NESTfR);p"ssa9he.c#9375" idv2L365" class=" v2L286" class="Hav_dhed "> d"an6"> o possb ?s="line" nam v2L308">33084/a>4spa"s98ass="10"d="sref">9ck4/a>);p opossb" class="sref">de6"> opossbo_subfreerrier" class="sref">y_lru_move_list4/a>(struct i_n9ink4/a>)v"ssa9he.c#9849" idv2L349"dv2L348" class="ine37"de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;in10"sre/a>)v10"s6" idv2L316" class=" class="ine37"de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>->in10"ck4/a>)v(spareopt;in10"914/a>{v10"12" idv2L355" class="1ine" na10"1ref">in10"de4/a>;pspin_unlock4/a>(&dentry4/a>-subdct in10"LL4/a>;p33L296">32964/a>333333334a href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>->9as4/a>);p(stareopt;dentry4/a>iep_mat4/a>ru1ruct _RET_IP_4/a>->de9ry4/a>);p(struct dentry_lru_move_list4/a>(struct );p(st&dentry4/a>iep_mat4/a>ru0ru1ruct _RET_IP_4/a>->9ck4/a>);pi_n9ink4/a>)v10"12" idv2L355" class="11lass=L10"1sref">de9try4/a>)v"1110"sr>10"s6" idv2L316" class="ine37"de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;931 {v"1110"ck>10"61" idv2L361"df="+code=d_lock1sclass=10"12ref">d_94/a>))3{v"11a9he.c#9122" i#8611" idv2L211" class=line" nam v2L308">33084/a>4spa"1sne" na10"13ref">d_9ck4/a>);p"1sa8he.c#8643" idv2L343" classssssssss* Allc4e8e 54e fs=7leve2n...arwila we paree" ne fe search33st"oyedalled _prior_ to unhas"1sine" n10"1sref">in9ru4/a>);p"11a9he.c#9044" idv2L344" classssssssss*"line" nam v2L308">33084/a>4spa"1slass="10"1v2L304">9d4/a>++;p"11a8he.c#8952" " class=" claine37" ls=entry" clapareopmove_l ls=entry" >(strdasblide !=h+code=e" nam v2pareopmove_list4/a>(spact ++;p"11a9he.c#9916" idv2L316idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct WARN_O/a>(!(sthil;9ck4/a>);p"11a9he.c#9175" idv2L365" class="line"  ls=entry" clapareopmove_l ls=entry" >(struct to_rwila ntry_lru_move_l4/a>to_rwila ref=e" class="line"  ls=entry" clapareopmove_l ls=entry" >(struct "11a9he.c#9148" idv2L348" cl""""" class="lin ls=entry" clapareopmove_l ls=entry" >(stareopt;33084/a>4spa"1s9ass="10"19ock hel93184/a>}p"1sa9he.c#9949" idv2L349" class=gopoafreerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(sthil;v"1210"sr>10"s6" idv2L316" class="ine37"nentry" cnexpmove_list4/a>(ruct WARN_O/a>(!(!WARN_ON4/a>(!(>de9try4/a>)v"12a9he.c#9961" idv2L361gopoafreerrier" clasree" nclapareopmove_lree" n8he.>d_93214/a>{v"1 a9he.c#9122" idv2L361"df="+code=d_lock1 ne" na10"13ref">d_9ru4/a>);p"1 39he.c#9261" idv2L361"f="+code=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>->in9IST4/a>;p"1 a9he.c#9314" """"""""" class="lin  *sedref=euct WARN_ON *sedef"c>laop3" idspin_="+code=d_fl33333ieqre>dentry_lru_move_l33333ieqre>de33332964/aonamo3=den>(struct 9d4/a>--;p"12a9he.c#9915" idv2L315gopoafreerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(sthil;nr_unus9d4/a>--;pnr>"1 a8he.c#8616" " class=" claine37"  *sedref=euct WARN_ON *sedef"cbgt;93264/a>}p"1 a9he.c#9175" idv2L365" class="line" write3ieqntry4">33L296">32964/write3ieqntry4"33332964/aonamo3=den>(st->p"1 a9he.c#9148" """"""40;5" class=" v2L286" class="Non6"> o possbsd "> d"r * re r *=s o_d"*m v2L308">33084/a>4spa"1 9ass="10"19ock hel9*4/spa="v"1 a9he.freerrier" claseositivno_subtreemove_leositivn>(sp:UGrrierhef="+code=d_loc113lass=L10"1m the LR9.4/spa="v"13e9="lin9648" " cl""""" class="lin  *sedref=euct WARN_ON *sedef"c>laop3" idspin_="+code=d_fl33333ieqre>dentry_lru_move_l33333ieqre>de33332964/aonamo3=den>(struct de9/4/spa="v"13a9he.c#9961" idv2L361gopoafreerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(sthil;de9try4/a>)v"1328he.c#8616" " class=" claine37"  *sedref=euct WARN_ON *sedef"cbgt;33393324/a>{v"13a8he.c#8763" idv2L363" class=" classwrite3ieqntry4">33L296">32964/write3ieqntry4"33332964/aonamo3=den>(st->in94/a>))3{v"1349he.c#9148" """"""41>9ck4/a>);p"13a9he.c#9395" if="+code=d_loc"13lass="10"1ref">den9ry4/a>);p"1m96">32reerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(st:UGrrierhef="+code=d_loc1137ass="10"1he_lru_l9ck4/a>);p"1378he.c#8616" " class=" claine37"  *sedref=euct WARN_ON *sedef"cbgt;"13a9he.c#9148" idv2L348gopoafreerrier" clasagainry" cs_i>WARN_Oagain8he.>93384/a>}p"1399he.c#9261" idv2L361"f="+co" *sedref=euct WARN_ON *sedef"cruc1>v"1 v8he.c#8616" " class=" classwrite3ieqry4">33L296">32964/write3ieqry4"33332964/aonamo3=den>(st->de9*4/spa="v"14a9he.c#9961" gopoafreerrier" clasagainry" cs_i>WARN_Oagain8he.>"1410"91>10"12" idv2L355" class="14ne" na10"1le syste9.4/spa="v"1 39he.freerrier" clasEXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" hav_entr6"> ostryy_lru_move_laav_entr6"> osref=->in9.4/spa="v"14a9he.c#9514" if="+code=d_loc"1 lass="10"1v2L304">9/4/spa="v"1410"s4>10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"14lass="10"1ref">den9try4/a>)v"1496">32964/a>3333b1R123Tidv2L20Search_ leaist4/a /a>(!">333u 7" *tospecifiedpda>on5 7"  tree, v2L308">33084/a>4spa"147ass="10"1he_lru_l93464/a>{v"1 a9he.c#9207" idv2L307" class*4e pareop ">onunusedpt"oyn7" * descenla w77" *tounused7"  tree, v2L308">33084/a>4spa"148ass="10"1lock hel94/a>))3{v"1 a9he.c#9408" idv2L308" class=">333uumouprune>(sshrs()."We"line" na descennnnnnleve27"  tree, v2L308">33084/a>4spa"149ass="10"1omment">9UNE4/a>)v"1 a9he.c#9409" idv2L209" class*nfinievedhing dentry4/a">333us=7non->hue pa/o on*ue7"  tree, v2L308">33084/a>4spa"15lass=L10"1ref">den9ry4/a>);p"15r9he.c#9208" idv2L308" class="searching33st"oyedalled _prior_ to unhas"15lass=L10"1 v2L350"933504/a>p"15a8he.c#8611" idv2L211" class=3st"oyedalled _prior_ to unhas"15class=10"1he_lru_l9ck4/a>);p"15a8he.c#8642" idv2L342" class="It """"""s zero " siblent"a>o7no unusedp/a>(!>on 7"  tree, v2L308">33084/a>4spa"15ne" na10"1le syste9ry4/a>);p"15a8he.c#8543" idv2L343" class="nnnnnnn* oeit-""""""s scenn@couno77"/a>(!>onareopna d7"  tree, v2L308">33084/a>4spa"15ine" n10"1sref">in9ck4/a>);p"15a9he.c#9044" idv2L344" class="scenla w77" *tounused">333."r b96mayokup.be"fall ota27"  tree, v2L308">33084/a>4spa"15lass="10"1v2L304">93333333}p"1510"s4>10"45" idv2L245" class="n@couno77"unusedp/a>(!>on * 7" *LR"selectentry"  c047"  tree, v2L308">33084/a>4spa"15lass="10"1sref">de93554/a>}p"1596">32964/a>3333b1R123Tidv2L20droppa y f *sue pa""""""4early dup andlatenca>(ne" s="line" nam v2L235">323"157ass="10"1he_lru_l933564/a>p"15a9he.c#9207" idv2L307" class*4/o strassbs33st"oyedalled _prior_ to unhas"158ass="10"1lock hel9ist4/a>)v"15a9he.c#9408" idv2L308" class=*=s o_d"*m v2L308">33084/a>4spa"159ass="10"1omment">93584/a>{v"1r;9assc#9380"ssblide, intLf="+coselectentry" o_subtreemove_lielectentry" ref=eaasblide=st" class="sref">dentry_lru_move_list4/a>(struct (sp,2L348" clast" class="sr>3333h333ref=euct WARN_ON3333h333>(struct );p"1he9asst ))3{v"16a9he.c#9961" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct (stBUGrrierhef="+code=d_loc116class=10"1he_lru_l9st4/a>);p"1629he.c#9961" idv2L316"st" class="sr>3333h333ref=euct WARN_ON3333h333>(struct (BUGrrierhef="+code=d_loc116ne" na10"1le syste9d4/a>++;p"16a8he.c#8763" unsigne614" i" class="liieqo_subtreemove_lieqt4/aBUGrrierhef="+code=d_loc116ine" n10"1sref">in9d4/a>++;p"16a9he.c#9314" "sblide, intLf="+co "> do_subtreemove_l "> def"cruc0BUGrrierhef="+code=d_loc116lass="10"1v2L304">9}3else3{v"1659he.c#9314" "sblide, intLf="+co" *sedref=euct WARN_ON *sedef"cruc0BUGrrierhef="+code=d_loc116lass="10"1sref">de9st4/a>);p"1h69he.UGrrierhef="+code=d_loc1167ass="10"1 v2L356"93333333}p"1679he.c#9261" idv2L361"f="+codeqo_subtreemove_lieqt4/aruct WARN_O33333ieqbegin33332964/aonamo3=den>(staBUGrrierhef="+code=d_loc11h8ass="10"1lock hel9" class="srdv2L"1loc>"1688he.c"+code=spin_loagainry" cs_i>WARN_Oagain8he.:UGrrierhef="+code=d_loc11h9ass="10"1omment">9="sref">d_inode"1omm>"1699he.c#9261" idv2L361"f="+co ls=entry" clapareopmove_l ls=entry" >(struct (spareopt;"17v8he.c#8616" " class=" classde=dentry4">33L359">33594/a> .3 3333(st&dentry4/a>->"1la8he.c"+code=spin_lo>opea clapareopmove_lrepea 8he.:UGrrierhef="+code=d_loc117class=10"1he_lru_l9ck4/a>);p"17a9he.c#9122" idv2L322" classnentry" cnexpmove_list4/a>(ruct (st&dentry4/a>-subdir (>);p"1739he.freerrier" clasree" nclapareopmove_lree" n8he.:UGrrierhef="+code=d_loc117ine" n10"1he_lru_l9ink4/a>)v"17a9he.c#9314" class="}"whilelaine37"nentry" cnexpmove_list4/a>(r!=_hru(st&dentry4/a>-sudtruct 9de4/a>);p"17a9he.c#9915" idv2L315idv2L316"st" class="sr>3333h333ref=euct WARN_ON3333h333>(struct inode4/ruct (>de9put4/a>)v"17a9he.c#9916" idv2L316idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct (!inode4/,2L348" clast" class="sref">dentry_lru_move_list4/a>(struct dentrd_uWARN_ON4/a>(!WARN_ON4/a>(!);p"17a9he.c#9175" idv2L365" class="line" nentry" cnexpmove_list4/a>(ruct inode4/_typelideref="+code=dentry" cnexpmove_list4/a>(>"17a9he.c#9948" if="+code=d_loc"179ass="10"1omment">9de4/a>);p"17a9he.c#9949" idv2L349" class=" classde=dentry_nestedref=euct WARN_O4/a> .3 3_nested333dentry4/a>ruct deENTRY_D_LOCK_NESTfR .3 3339}3else3{v .>"1> 9ass="9629" iv2L355" class=118lass=L10"1UG_ON4/a9ck4/a>);p"18a9he.c#9961" idv2L361>10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"18class=10"1he_lru_l93333333}p"18a8he.c#8642" idv2L342" classssssssssssssssss*areop only zero L30 ode4/pt"oyn7" * descendisposn">333.line" nam v2L308">33084/a>4spa"18ne" na10"1try_unus92824/a>}p"18a8he.c#8643" idv2L343" classssssssssssssssss*line" nam v2L308">33084/a>4spa"18ine" n10"1he_lru_l932834/a>p"18a9he.c#9044" idv2L344" classssssssssssssssss*aThosn"clach"a>o7ef=s clly o * leaist4/a">333 * 7nexpprocessed7"  tree, v2L308">33084/a>4spa"1>lass="10"1v2L304">9*4/spa="v"1810"s4>10"45" idv2L245" classssssssssssssssss*aby ist4/a>(st4/a_>333(b,2Lhould8T#39;tdbeareopn.  Onnnnnn* o"move 7o 7"  v2L308">33084/a>4spay18lass="10"1sref">de9m4/spa="v"1896">32964/a>3333b1R123Tidv2Lssssssssssssssss*aloop"r *ist4/a>(sshrs=ntry" () might kup.makp ">onprogf=ssve 7o 7"  v2L308">33084/a>4spay187ass="10"1 v2L356"9.4/spa="v"18a9he.c#9207" idv2L307" classssssssssssssssss*ae paloop"foreved.line" nam v2L308">33084/a>4spa"188ass="10"1="sref">9/4/spa="v33084/a>4spa"189ass="10"1sref">de9try4/a>)v"18a9he.c#9949" idv2L349" class=" claine37" e=dentryy_lru_move_list4/a>(stareopt;inode4/a>, dtruct d_9ock4/a>)v"1910"sr>10"s6" idv2L316" class=" class="ine37"(st4/a_>ru>(sltryy_lru_move_list4/a_>ru>(slref=euct rrier" class="sref">y_lru_move_list4/a>(struct )v"19a9he.c#9961" idv2L361} else " cl"lass=" claine37" e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>->degs" clSHRINK_LISTt4/a>btruct {v"1sa9he.c#9812" idv2L312" class=" class="ine37"(st4/a_>ru>reop_>333tryy_lru_move_list4/a_>ru>reop_>333ref=euct rrier" class="sref">y_lru_move_list4/a>(struct ;p"1sa8he.c#8763" idv2L363" class=" class="ine37"(st4/atryy_lru_move_list4/a>(stareopt;dentry4/a>-&g|uct degs" clSHRINK_LISTt4/auct ;p"1sa8he.c#8914" idv2L314" class=" class="ine37" "> do_subtreemove_l "> def"c++uct 9as4/a>);p"19a9he.c#9915" idv2L315>10"12" idv2L355" class="19lass="10"1sref">de9ry4/a>);p"1sa9he.c#9316" idv2L316"10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"197ass="10"1336364/a9ck4/a>);p"19a9he.c#9207" idv2L307" classssssssssssssssss*aWe c044r"""""4tdescencaller4ifdo_dhav_d "> d"some ( ls=line" nam v2L308">33084/a>4spa"198ass="10"1="sref">9ck4/a>);p33084/a>4spa"1s9ass="10"1ref">i_n9ink4/a>)v"19a9he.c#9409" idv2L209" class="line" ssssssss* scenf=s3.line" nam v2L308">33084/a>4spa"2class=L10"2ref">in10"sre/a>)v33084/a>4spa"2class=L10"2ref">in10"ck4/a>)v do_subtreemove_l "> def"crlaop3" idspin_="+code=d_fl"wv2_f=s/a>do_subtreemove_l"wv2_f=s/a>dref=e>btruct in10"914/a>{v33L296">32964/a>333333334a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;in10"de4/a>;p(>in10"LL4/a>;p10"12" idv2L355" class="2c5ne" n10"2r3544/a>9as4/a>);pde9ry4/a>);p33084/a>4spa"2c7ass="10"2e36364/a9ck4/a>);p333us=7non->h.line" nam v2L308">33084/a>4spa"2c8ass="10"2e"sref">9ck4/a>);p33084/a>4spa"2c9ass="10"2eef">i_n9ink4/a>)vspin_unlock4/a>(&dentry4/a>-subdct de9try4/a>)v"2110"sr>10"s6" idv2L316" class=" class="ine37"de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>->931 {v"21a9he.c#9961" idv2L361" class=" class="ine37"de=dere4e sno_subtreemove_lie=dere4e sna href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>iep_mat4/a>ru1ruct _RET_IP_4/a>->d_94/a>))3{v"21a9he.c#9812" idv2L312" class=" class="ine37" ls=entry" clapareopmove_l ls=entry" >(struct dentry_lru_move_list4/a>(struct d_9ck4/a>);p"21a8he.c#8763" idv2L363" class=" class="ine37"de=deacquirno_subtreemove_lie=deacquirna href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>iep_mat4/a>ru0ru1ruct _RET_IP_4/a>->in9ru4/a>);p"21a8he.c#8914" idv2L314" class=gopoafreerrier" clasrepea clapareopmove_lrepea 8he.>9d4/a>++;p"21a9he.c#9915" idv2L315>10"12" idv2L355" class="2slass="10"2 v2L305"9d4/a>++;p"2169he.UGrrierhef="+code=d_loc12s7ass="10"2omment">9ck4/a>);p"21a9he.c#9175" idv2L365" class="line" de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;"21a9he.c#9148" >10"12" idv2L355" class="2s9ass="10"29ock hel93184/a>}p"2sa9he.c#9949" "10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"22lass=L10"2 v2L319"933194/a>v"22r9he.c#9208" idv2L308" class="line" * Allc4e8e 54e fs=7leve2n...arwila we paree" ne fe search33st"oyedalled _prior_ to unhas"22lass=L10"2sref">de9try4/a>)v"22a8he.c#8611" idv2L211" class="line" **=s o_d"*m v2L308">33084/a>4spa"22class=10"22ref">d_93214/a>{v"2228he.c#8616" " class=" claine37" ls=entry" clapareopmove_l ls=entry" >(strdasblide !=h+code=e" nam v2pareopmove_list4/a>(spact d_9ru4/a>);p"22a8he.c#8763" idv2L363idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct WARN_O/a>(!(sthil;in9IST4/a>;p"22a8he.c#8914" idv2L314" class="ine37" ls=entry" clapareopmove_l ls=entry" >(struct to_rwila ntry_lru_move_l4/a>to_rwila ref=e" class="line"  ls=entry" clapareopmove_l ls=entry" >(struct 9d4/a>--;p"22a9he.c#9915" idv2L315" cl""""" class="lin ls=entry" clapareopmove_l ls=entry" >(stareopt;33084/a>4spa"22lass="10"2>nr_unus9d4/a>--;pnr>"22a9he.c#9916" idv2L316" class=gopoafreerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(sthil;93264/a>}p"2 a9he.c#9175" idv2L365" class="line" nentry" cnexpmove_list4/a>(ruct WARN_O/a>(!(!WARN_ON4/a>(!(>p"22a9he.c#9148" idv2L348gopoafreerrier" clasree" nclapareopmove_lree" n8he.>"2299he.c#9148" >10"12" idv2L355" class="23lass=L10"2m the LR9.4/spa="v"23r8he.c"+code=spin_loou3tryy_lru_move_lou4/a>(:UGrrierhef="+code=d_loc123lass=L10"2sref">de9/4/spa="v"23a9he.c#9261" idv2L361"f="+code=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock ls=entry" clapareopmove_l ls=entry" >(st&dentry4/a>->de9try4/a>)v"2328he.c#8616" " cl""""" class="lin  *sedref=euct WARN_ON *sedef"c>laop3" idspin_="+code=d_fl33333ieqre>dentry_lru_move_l33333ieqre>de33332964/aonamo3=den>(struct 33393324/a>{v"23a8he.c#8763" idv2L363gopoafreerrier" clasrenamo3re>dentry_lru_move_l33namo3re>de>(sthil;in94/a>))3{v"2349he.c#9148" " class=" claine37"  *sedref=euct WARN_ON *sedef"cbgt;9ck4/a>);p"23a9he.c#9915" idv2L315ass=" claine37"write3ieqntry4">33L296">32964/write3ieqntry4"33332964/aonamo3=den>(st->den9ry4/a>);p"23a9he.c#9916" """"""4" class="line"  "> do_subtreemove_l "> def"c>);p"2378he.gt;"2388he.c"+code=spin_lorenamo3re>dentry_lru_move_l33namo3re>de>(st:UGrrierhef="+code=d_loc12m9ass="10"2omment">93384/a>}p"2399he.c#9261" " class=" claine37" "> do_subtreemove_l "> def"cbgt;v"2410"sr>10"s6" idv2L316""""""4" class="line"  "> do_subtreemove_l "> def"c>de9*4/spa="v"24a9he.c#9961" " class=" claine37"  *sedref=euct WARN_ON *sedef"cbgt;"24a9he.c#9812" idv2L312gopoafreerrier" clasagainry" cs_i>WARN_Oagain8he.>"2439he.c#9261" idv2L361"f="+co" *sedref=euct WARN_ON *sedef"cruc1>in9.4/spa="v"2449he.c#9261" idv2L361"f="+cowrite3ieqry4">33L296">32964/write3ieqry4"33332964/aonamo3=den>(st->9/4/spa="v"24a9he.c#9915" gopoafreerrier" clasagainry" cs_i>WARN_Oagain8he.>den9try4/a>)v"2496">3>10"12" idv2L355" class="247ass="10"2he_lru_l93464/a>{v"2478he.gt;))3{v"2 a9he.c#9408" idv2L308" class="line" s="line" nam v2L235">323"249ass="10"2omment">9UNE4/a>)v"2 a9he.c#9409" idv2L209" class*nist4/a>(sshrs=ntry"  -uprune (sshrsline" s="line" nam v2L235">323"25lass=L10"2ref">den9ry4/a>);p"25r9he.c#9208" idv2L308" class="@t4/a>(:7da>on54mf "oyn7" * depruneline" s="line" nam v2L235">323"25lass=L10"2 v2L350"933504/a>p"25a8he.c#8611" idv2L211" class=3st"oyedalled _prior_ to unhas"25class=10"2he_lru_l9ck4/a>);p"25a8he.c#8642" idv2L342" class="Prune blepd to u* derereop unusedp/a>(!>onw77" *toda>on54ist4/a33st"oyedalled _prior_ to unhas"25ne" na10"2le syste9ry4/a>);p"25a8he.c#8543" idv2L343" class=*=s o_d"*m v2L308">33084/a>4spa"25ine" n10"2sref">in9ck4/a>);p"25a9he.voi614" i" class="liist4/a>(sshrs=ntry" o_subtreemove_list4/a>(sshrs=ntry" 333dentry_lru_move_list4/a>(strusblide !=h+code=e" nam v2pareopmove_list4/a>(spa*m v2L308">33084/a>4spa"25lass="10"2v2L304">93333333}p"25a8he.c#8695" ief="+code=d_lru"25lass="10"2sref">de93554/a>}p"2569he.c#9261" idv2L361"f="+coLIST_HEAREFERENCEDref">dLIST_HEARref=e" class="line" eisposno_subtreemove_ldisposnef"cbuct p"2578he.c#8616" "sblide, intLf="+co "> do_subtreemove_l "> def"cuct )v"25a9he.c#9948" if="+code=d_loc"259ass="10"2omment">93584/a>{v"2599he.c#9261" class="lass=" claine37" "> do_subtreemove_l "> def"cruct (sp,_hru33084/a>4spa"26lass=L10"2he_lru_l9ck4/a>);p"2610"sr>10"s6" idv2L316" class="ine37"dst4/a>(st4/a_>333o_subtreemove_list4/a>(st4/a_>333a href="+code=spin_unlock"isposno_subtreemove_ldisposnef"cbuct ))3{v"26a9he.>10"12" idv2L355" class="26class=10"2he_lru_l9st4/a>);p"26a8he.c"+code=spin_loEXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" ist4/a>(sshrs=ntry" o_subtreemove_list4/a>(sshrs=ntry" 333++;p"26a8he.ct in9d4/a>++;p"26a9he.c#9044" idv2L344" class="line" s="line" nam v2L235">323"26lass="10"2v2L304">9}3else3{v"2610"s4>10"45" idv2L245" class="__d_al=deL316-dv2L316al=deate apd to u*st4/a>(ne" s="line" nam v2L235">323"26lass="10"2sref">de9st4/a>);p"2696">32964/a>3333b1R123Tidv2L20@sb: fasssystemeit-willdbelonga d7"  tree, v2L308">33084/a>4spa"267ass="10"2 v2L356"93333333}p"26a9he.c#9207" idv2L307" class*4@p33084/a>4spa"268ass="10"2lock hel9" class="srdv2L"2loc>"26a9he.c#9408" idv2L308" class=7"  tree, v2L308">33084/a>4spa"269ass="10"2omment">9="sref">d_inode"2omm>"26a9he.c#9409" idv2L209" class*nAl=deates apdst4/a3"It """"""s %NULLn siblereus=7insufficion54mere/a>(ne" s="line" nam v2L235">323"27lass=L10"2lass="li9e"spa= class="c"2las>"27r9he.c#9208" idv2L308" class="available. On apsuccess_ leaist4/a s=7""""""pn. T*top33084/a>4spa"27lass=L10"2UG_ON4/a9("27a8he.c#8611" idv2L211" class= copiedpe pascencopyodassed"r *mayobenf=usedpaftedhins=7call33st"oyedalled _prior_ to unhas"27class=10"2he_lru_l9ck4/a>);p"27a8he.c#8642" idv2L342" class=*=s o_d"*m v2L308">33084/a>4spa"27ne" na10"2try_unus9ck4/a>);p"2739he. *m v2L308">33084/a>4spa"27ine" n10"2he_lru_l9ink4/a>)v"27a9he.idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct __d_al=de33333L296">32964/auper_bry4">(struct 32964/ab>(sp,_/o st3idv2L316"st" class="srqidv>33L296">32964/qidv>(struct 9de4/a>);p"27a8he.c#8695" ief="+code=d_lru"27lass="10"2sref">de9put4/a>)v"27a9he.c#9916" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(stuct );p"27a9he.c#9175" charruct "27a9he.c#9948" if="+code=d_loc"279ass="10"2omment">9de4/a>);p"27a9he.c#9949" 6"st" class="sref">dentry_lru_move_list4/a>(struct kmer_sshrs=al=deref=e" class="line" est4/a_sshrsntry_lru_move_list4/a_sshrslistruct  .3 3339}3else3{v .>"28e9="lin9648" " cl""""" class="lins="sref">y_lru_move_list4/a>(strct );p"28a9he.c#9961" idv2L361""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct "28a8he.ct }p"2839he.c#9261" i10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"28ine" n10"2he_lru_l932834/a>p"28a9he.c#9044" idv2L344" classssssssss*aWe guarantee bl54e feusn834/oplass="10"2v2L304">9*4/spa="v"2810"s4>10"45" idv2L245" classssssssss*"r b96waye feumercpy()c4e8e by" *toplass="10"2sref">de9m4/spa="v"2896">32964/a>3333b1R123Tidv2Lssssssss*-willdstilldalways hav_da NUL 54e feuend, even4ifdo_dmight3st"oyedalled _prior_ to unhas"2>7ass="10"2 v2L356"9.4/spa="v"28a9he.c#9207" idv2L307" classssssssss*obenoverwriting"207internal NUL character3st"oyedalled _prior_ to unhas"2>8ass="10"2="sref">9/4/spa="v33084/a>4spa"289ass="10"2sref">de9try4/a>)v"28a9he.c#9949" 6"st" class="sref">dentry_lru_move_list4/a>(st&(st[(st&1]ruc0BUGrrierhef="+code=d_loc129lass=L10"2sref">d_9ock4/a>)v"29e9="lin9648" " clct WARN_Olenef"c>lmp;ct (st&1act )v"29a9he.c#9961" idv2L361ct kmal=deref=e" class="line" vWARN_Olenef"c>+u1ruct {v"2sa9he.c#9812" idv2L312" cl""""" class="linsv;p"2sa8he.c#8763" idv2L363" class=" class="ine37"kmer_sshrs=fre ry" cnexpmove_lkmer_sshrs=fre ref=e" class="line" est4/a_sshrsntry_lru_move_list4/a_sshrslistruct y_lru_move_list4/a>(stru *m v2L308">33084/a>4spa"29ine" n10"2 v2L283"9ULL4/a>;p"2sa8he.c#8914" idv2L314" class=""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct 9as4/a>);p"29a9he.c#9915" idv2L315>10"12" idv2L355" class="29lass="10"2sref">de9ry4/a>);p"2sa9he.c#9316" } else ct );p"29a9he.c#9175" idv2L365" class="line" evdentry_lru_move_list4/a>(st&(stuct 9ck4/a>);p#9148" ct i_n9ink4/a>)v"29a9he.ct in10"sre/a>)vdentry_lru_move_list4/a>(st&(stbdir WARN_Olenef"c>uct WARN_Olenef"cuct in10"ck4/a>)vdentry_lru_move_list4/a>(st&(stbdir uct {vWARN_Olenef"cbuct in10"de4/a>;pWARN_Olenef"c]ruc0BUGrrierhef="+code=d_loc13line" n10"3ref">in10"LL4/a>;p9as4/a>);p33084/a>4spa"3c6ne" n10"3rref">de9ry4/a>);p32964/amp_wmbref=ebuct );pdentry_lru_move_list4/a>(st&(stbdir 9ck4/a>);pi_n9ink4/a>)vdentry_lru_move_list4/a>(st&inode4/a>, ruc1>de9try4/a>)v"31v8he.c#8616" " class=" classef">dentry_lru_move_list4/a>(st&dentry4/a>-&guc0BUGrrierhef="+code=d_loc13slass=L10"3v2L310">931 {v"31a9he.c#9261" idv2L361"f="+code=de.3 3_ini o_subtreemove_lie=de.3 3_ini a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;d_94/a>))3{v"31a9he.c#9122" idv2L322" classseqode4/_ini o_subtreemove_lieqode4/_ini a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;chil;d_9ck4/a>);p"3139he.c#9261" idv2L361"f="+coef">dentry_lru_move_list4/a>(st&y_lru_move_lNULLef"cuct in9ru4/a>);p"3149he.c#9261" idv2L361"f="+coef">dentry_lru_move_list4/a>(st&(struct dentry_lru_move_list4/a>(struct 9d4/a>++;p"31a9he.c#9915" ode=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;33L296">32964/deib>(struct 33L296">32964/ab>(spruct ++;p"3169he.c#9261" idv2L361"f="+co"e=dentryy_lru_move_list4/a>(stareopt;ieotef"cruct y_lru_move_lNULLef"cuct 9ck4/a>);p"3179he.c#9261" idv2L361"f="+coef">dentry_lru_move_list4/a>(st&dentsdataef"cruct y_lru_move_lNULLef"cuct "31a9he.c#9148" t y_lru_move_lINIT_HLIST_BL_NODEa href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;chil;}p"31a9he.c#9949" 6"st" class="srINIT_LIST_HEAREFERENCEDref">dINIT_LIST_HEARa href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;denru4/a>chil;v"32v8he.c#8616" " class=" classINIT_LIST_HEAREFERENCEDref">dINIT_LIST_HEARa href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>-subhil;de9try4/a>)v"32a9he.c#9261" idv2L361"f="+coINIT_HLIST_NODEf">y_lru_move_lINIT_HLIST_NODEa href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dealiac>-subhil;d_93214/a>{v"32a9he.c#9122" idv2L322" classINIT_LIST_HEAREFERENCEDref">dINIT_LIST_HEARa href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;de/a>(!WARN_ON4/a>(!d_9ru4/a>);p"3239he.c#9261" idv2L361"f="+coeeiet_deotry" claopsref">ieiet_deotref=e" class="line" est4/atryy_lru_move_list4/a>(struct y_lru_move_list4/a>(stareopt;33L296">32964/deib>(stareopt;s_deotref=chil;in9IST4/a>;p"32a9he.c#9514" if="+code=d_loc"3 lass="10"3v2L304">9d4/a>--;p"32a9he.c#9915" ode=spin_unlock ls=ecpueivery" claopsref"> ls=ecpueiveref=e" class="line" vr_s="sref">y_lru_move_lvr_s="sreref=chil;nr_unus9d4/a>--;pnr>"3269he.UGrrierhef="+code=d_loc13 7ass="10"3omment">93264/a>}p"3 a9he.c#9175" """"""4" class="line" ef">dentry_lru_move_list4/a>(struct p"32a9he.>10"12" idv2L355" class="3 9ass="10"39ock hel9*4/spa="v"32a9he.ct "33r9he.c#9208" idv2L308" class="line" s="line" nam v2L235">323"33lass=L10"3sref">de9/4/spa="v"33a8he.c#8611" idv2L211" class= d_al=deL31616-dv2L316al=deate apd to u*st4/a>(ne" s="line" nam v2L235">323"3mclass=10"3sref">de9try4/a>)v"33a8he.c#8642" idv2L342" class="@t4/a>(:7da>on54mf "oyny* deal=deate>(ne" s="line" nam v2L235">323"3mne" na10"324/a>33393324/a>{v"33a8he.c#8543" idv2L343" class="@p33084/a>4spa"3mine" n10"3sref">in94/a>))3{v"33a9he.c#9044" idv2L344" class=7"  tree, v2L308">33084/a>4spa"3mlass="10"3v2L304">9ck4/a>);p"3310"s4>10"45" idv2L245" class="Al=deates apdst4/a3"It """"""s %NULLn siblereus=7insufficion54mere/a>(ne" s="line" nam v2L235">323"33lass="10"3ref">den9ry4/a>);p"3396">32964/a>3333b1R123Tidv2L20available. On apsuccess_ leaist4/a s=7""""""pn. T*top33084/a>4spa"337ass="10"3he_lru_l9ck4/a>);p"33a9he.c#9207" idv2L307" class*4/opiedpe pascencopyodassed"r *mayobenf=usedpaftedhins=7call33st"oyedalled _prior_ to unhas"338ass="10"3lock hel93333333}p"33a9he.c#9408" idv2L308" class=*=s o_d"*m v2L308">33084/a>4spa"3m9ass="10"3omment">93384/a>}p"33;9assc#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct d_al=de333dentry_lru_move_list4/a>(strusblide !=h+code=e" nam v2pareopmove_list4/a>(sp,_/o st3idv2L316"st" class="srqidv>33L296">32964/qidv>(struct v"34e9asst de9*4/spa="v"34a9he.c#9961" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct __d_al=de333(spareopt;33L296">32964/deib>(struct "3428he.c#8616" " cl""""" class="lins="sref">y_lru_move_list4/a>(strct "34a8he.c#8763" idv2L363""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct in9.4/spa="v"34a9he.c#9514" if="+code=d_loc"3 lass="10"3v2L304">9/4/spa="v"34a9he.c#9915" ode=spin_unlockde=dentry4">33L359">33594/a> .3 3333(spareopt;dentry4/a>chil;den9try4/a>)v"3469he.c#9261" i10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"347ass="10"3he_lru_l93464/a>{v"34a9he.c#9207" idv2L307" classssssssss*odo8T#39;td"wv2p/a>(! ntryobecause "3us=7not3iubject3st"oyedalled _prior_ to unhas"348ass="10"3lock hel94/a>))3{v"3 a9he.c#9408" idv2L308" classssssssss*o de/o curt4/cy lere3st"oyedalled _prior_ to unhas"349ass="10"3omment">9UNE4/a>)v"3 a9he.c#9409" idv2L209" classssssssss**=s o_d"*m v2L308">33084/a>4spa"35lass=L10"3ref">den9ry4/a>);p"35v8he.c#8616" " class=" class__dget_dntry" class="sref">__dget_dntry333(spchil;p"35a9he.c#9261" idv2L361"f="+coef">dentry_lru_move_list4/a>(st&(struct (spareopt;);p"35a9he.c#9122" idv2L322" classnlockad3ref=euct WARN_ON3333ad3a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;de/a>(!WARN_ON4/a>(!(spareopt;dentry4/a>-subhil;);p"3539he.c#9261" idv2L361"f="+code=dentry4">33L296">32964/a>333333334a href="+code=spin_unlocke" nam v2pareopmove_list4/a>(spareopt;dentry4/a>chil;in9ck4/a>);p"35a9he.c#9514" if="+code=d_loc"35lass="10"3v2L304">93333333}p"35a9he.c#9915" """"""4" class="line" ef">dentry_lru_move_list4/a>(struct de93554/a>}p"3596">3>10"12" idv2L355" class="357ass="10"3he_lru_l933564/a>p"3578he." class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" e=al=dery" claopsref">d_al=de333)v"35a9he.c#9948" if="+code=d_loc"359ass="10"3omment">93584/a>{v"35;9assc#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct d_al=de_pseudo33333L296">32964/auper_bry4">(struct 32964/ab>(sp,_/o st3idv2L316"st" class="srqidv>33L296">32964/qidv>(struct );p"36e9asst ))3{v"36a9he.c#9961" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct __d_al=de33333L296">32964/ab>(sp,_ct );p"3628he.c#8616" " class=" claine37"s="sref">y_lru_move_list4/a>(strct ++;p"36a8he.c#8763" idv2L363idv2L361"f="+coef">dentry_lru_move_list4/a>(st&dentry4/a>-&g|uct degs" clDISCONNECTfR>(struct in9d4/a>++;p"3649he.c#9915" """"""4" class="line" ef">dentry_lru_move_list4/a>(struct 9}3else3{v"3610"s4>10"12" idv2L355" class="36lass="10"3sref">de9st4/a>);p"3696">32 class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" e=al=de_pseudory" claopsref">d_al=de_pseudo333"3678he.gt;"36a9he.c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(strublide !=h+code=e" nam v2pareopmove_list4/a>(sp,_/o st3charruct 9="sref">d_inode"3omm>"36a9he.t "3709he.c#9961" idv2L316"st" class="srqidv>33L296">32964/qidv>(str6"st" class="srq>33L296">32964/q>(struct "37a8he.uct );p"37a9he.c#9122" idv2L322" classq>33L296">32964/q>(stbdir );p"3739he.c#9261" idv2L361"f="+coq>33L296">32964/q>(stbdir WARN_Olenef"c>uct WARN_Oidvlenref=e" class="line" v)v"3749he.c#9261" idv2L361"f="+coq>33L296">32964/q>(stbdir uct 33L296">32964/q>(stbdir 32964/q>(stbdir WARN_Olenef"cchil;9de4/a>);p"37a9he.c#9915" """"""4" class="line" e=al=dery" claopsref">d_al=de333(sp,_f="+code=spin_unlockq>33L296">32964/q>(stchil;de9put4/a>)v"3796">3>10"12" idv2L355" class="377ass="10"3 v2L356"9de4/a>);p"3778he." class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" e=al=de_v"37a9he.c#9948" if="+code=d_loc"379ass="10"3omment">9de4/a>);p"37a9he.voi614" i" class="lieeiet_deotry" claopsref">ieiet_deotref=eidv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(st,_/o st3idv2L316"st" class="srist4/a_operatio sntry_lru_move_list4/a_operatio s>(struct otref=cc#9948" if="+code=d_loc"38lass=L10"3> .3 3339}3else3{v .>"38e9asst );p"38a9he.c#9261" idv2L361"f="+coWARN_ON_ONCEf">y_lru_move_lWARN_ON_ONCEref=e" class="line" ee=dentryy_lru_move_list4/a>(stareopt;ieotef"cchil;"38a9he.c#9122" idv2L322" classWARN_ON_ONCEf">y_lru_move_lWARN_ON_ONCEref=e" class="line" ee=dentryy_lru_move_list4/a>(stareopt;dentry4/a>-&g" idspe" class="line" egs" clOP_HASHEFERENCEDref">degs" clOP_HASH9he.c#|il;}p"38a8he.c#8763" idv2L363" class=c#9122" idv2L322" classegs" clOP_COMPAREf">y_lru_move_legs" clOP_COMPARE8he.c#8763"|il;p"38a8he.c#8914" idv2L314" class=c#9122" idv2L322" classegs" clOP_REVALIDATEf">y_lru_move_legs" clOP_REVALIDATE8he.c#89|il;9*4/spa="v"38a9he.c#9915" idv2L315" class=c#9122" idv2L322" classegs" clOP_DELETEf">y_lru_move_legs" clOP_DELETE9he.c)chil;de9m4/spa="v"3869he.c#9261" idv2L361"f="+co"e=dentryy_lru_move_list4/a>(stareopt;ieotef"cruct otref=hil;"3878he.c#8616" " cl""""" class="linotry" claopsref">otref=cc#9948" if="+code=d_loc"388ass="10"3="sref">9/4/spa="vde9try4/a>)v"38a9he.c#9949" " class=" claine37"otry" claopsref">otref=areopt;cil;d_9ock4/a>)v"3910"sr>10"s6" idv2L316" class="ine37"ef">dentry_lru_move_list4/a>(st&dentry4/a>-&g|uct degs" clOP_HASH9he.hil;)v"39a9he.c#9961" " class=" claine37"otry" claopsref">otref=areopt;WARN_ON4/omist44/a>cil;{v"3sa9he.c#9812" idv2L312" class="ine37"ef">dentry_lru_move_list4/a>(st&dentry4/a>-&g|uct y_lru_move_legs" clOP_COMPARE8he.hil;;p"3sa8he.c#8763" " class=" claine37"otry" claopsref">otref=areopt;WARN_ON4revalidat44/a>cil;;p"3sa8he.c#8914" idv2L314" class="ine37"ef">dentry_lru_move_list4/a>(st&dentry4/a>-&g|uct y_lru_move_legs" clOP_REVALIDATE8he.hil;9as4/a>);p"39a9he.c#9915" " class=" claine37"otry" claopsref">otref=areopt;WARN_ON4delet44/a>cil;de9ry4/a>);p"39a9he.c#9916" idv2L316" class="ine37"ef">dentry_lru_move_list4/a>(st&dentry4/a>-&g|uct y_lru_move_legs" clOP_DELETE9he.hil;);p"3978he.c#8616" " class=" claine37"otry" claopsref">otref=areopt;denprunelia>cil;9ck4/a>);pdentry_lru_move_list4/a>(st&dentry4/a>-&g|uct y_lru_move_legs" clOP_PRUNE9he.hil;i_n9ink4/a>)v"39a9he.ct in10"sre/a>)v10"12" idv2L355" class="4class=L10"4ref">in10"ck4/a>)vieiet_deotref=chil;{vin10"de4/a>;pdentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(st,_idv2L316"st" class="srivodery" cnexpmove_livodeef"cruct in10"LL4/a>;p9as4/a>);p33L359">33594/a> .3 3333(stareopt;dentry4/a>chil;de9ry4/a>);p);pbgt;9ck4/a>);pdentry_lru_move_list4/a>(st&dentry4/a>-&g|uct i_n9ink4/a>)vWARN_OhN3333ad3_hea"333(stareopt;dealiac>-su,_f="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;chil;de9try4/a>)v"41v8he.c#8616" >10"12" idv2L355" class="4slass=L10"4v2L310">931 {v"41a9he.c#9261" idv2L361"f="+coef">dentry_lru_move_list4/a>(st&d_94/a>))3{v"41a9he.c#9122" idv2L322" classist4/a_rcuwalk_barriev>33L296">32964/ist4/a_rcuwalk_barrievref=e" class="line" ee=dentryy_lru_move_list4/a>(stchil;d_9ck4/a>);p"4139he.c#9261" idv2L361"f="+code=dentry4">33L296">32964/a>333333334a href="+code=spin_unlock"e=dentryy_lru_move_list4/a>(stareopt;dentry4/a>chil;in9ru4/a>);p"4149he.c#9261" idv2L361"f="+cofsnotify_d_instantiat4 cd_chil>WARN_Ofsnotify_d_instantiat4ref=e" class="line" ee=dentryy_lru_move_list4/a>(st,_ct 9d4/a>++;p"4110"s4>10"12" idv2L355" class="4s6ne" n10"4 v2L305"9d4/a>++;p"4169he.UGrrierhef="+code=d_loc14s7ne" n10"4omment">9ck4/a>);p"41a9he.c#9207" idv2L307" class="line" s="line" nam v2L235">323"4s8ass="10"4lock hel93333333}p"41a9he.c#9408" idv2L308" class= d_instantiat4 - fasl"r *svode*svformatio  for apdst4/aline" s="line" nam v2L235">323"4s9ass="10"49ock hel93184/a>}p"41a9he.c#9409" idv2L209" class*n@st4/a:aist4/a  de/omplet44/ne" s="line" nam v2L235">323"42lass=L10"4 v2L319"933194/a>v"42r9he.c#9208" idv2L308" class="@svode:*svode* deatt235* deins=7dst4/aline" s="line" nam v2L235">323"42lass=L10"4sref">de9try4/a>)v"42a8he.c#8611" idv2L211" class=3st"oyedalled _prior_ to unhas"42class=10"42ref">d_93214/a>{v"42a8he.c#8642" idv2L342" class="Fasl"r *svode*svformatio  r *t u*st4/a33st"oyedalled _prior_ to unhas"4 ne" na10"43ref">d_9ru4/a>);p"42a8he.c#8543" idv2L343" class=3st"oyedalled _prior_ to unhas"4 ine" n10"4sref">in9IST4/a>;p"42a9he.c#9044" idv2L344" class="r b96""""s negativeaist4/7" *in deprod2L3iveafull4merber=line" nam v2L308">33084/a>4spa"4 lass="10"4v2L304">9d4/a>--;p"4210"s4>10"45" idv2L245" class="of societa33st"oyedalled _prior_ to unhas"4 6ne" n10"4>nr_unus9d4/a>--;pnr>"4296">32964/a>3333b1R123Tidv2L23st"oyedalled _prior_ to unhas"4 7ne" n10"4omment">93264/a>}p"42a9he.c#9207" idv2L307" class*4NOTE!"r b96idvum" * l54e feusnode*ode4/ has been4incre" cledeft"oyedalled _prior_ to unhas"4 8ass="10"4lock hel933274/a>p"42a9he.c#9408" idv2L308" class= (or oblerwise set) by" *tocalledhio4indieate  l54e"3us=7noweft"oyedalled _prior_ to unhas"4 9ass="10"49ock hel9*4/spa="v"42a9he.c#9409" idv2L209" class*nr *use by" *to_ to uneft"oyedalled _prior_ to unhas"43lass=L10"4m the LR9.4/spa="v"43r9he.c#9208" idv2L308" class**=s o_d"*m v2L308">33084/a>4spa"43lass=L10"4sref">de9/4/spa="v"43a8he. ct de9try4/a>)v"43a8he.voi614" i" class="lieeinstantiat4 cd_chil>WARN_Od_instantiat4ref=eidv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_lst4/a>(st,_idv2L316"st" class="srivodery" cnexpmove_livodeef"cru_ct 33393324/a>{v"43a8he.t in94/a>))3{v"4349he.c#9261" idv2L361"f="+coBUG_ONry" cnexpmove_lBUG_ONref=e""""" class="linhN3333unhashe" cd_chil>WARN_OhN3333unhashe"a href="+code=spin_unlockf">dentry_lru_move_lst4/a>(stareopt;dealiac>-subchil;9ck4/a>);p"43a9he.c#9915" " class=" claine37"ivodery" cnexpmove_livodeef"ccct den9ry4/a>);p"43a9he.c#9916" idv2L316" class="ine37"ie=dentry4">33L359">33594/a> .3 333333L359">3359ientry4/a>chil;);p"4379he.c#9261" idv2L361"f="+co__d_instantiat4 cd_chil>WARN_O__d_instantiat4ref=ect dentry_lru_move_lst4/a>(st,_ct "4389he.c#9915" " class=" claine37"ivodery" cnexpmove_livodeef"ccct 93384/a>}p"43a9he.c#9949" idv2L348" class="ine37"de=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;v"44v8he.c#8616" " class=" classsecurity_d_instantiat4 cd_chil>WARN_Osecurity_d_instantiat4ref=ect dentry_lru_move_lst4/a>(st,_ct de9*4/spa="v"44a9he.>10"12" idv2L355" class="44class=10"4 be prun9d4/spa="v"44a8he.c"+code=spin_loEXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eeinstantiat4 cd_chil>WARN_Od_instantiat4ref=chil;"44a8he.ct in9.4/spa="v"44a9he.c#9044" idv2L344" class="line" s="line" nam v2L235">323"4 lass="10"4v2L304">9/4/spa="v"4410"s4>10"45" idv2L245" class="d_instantiat4333iqu4 - instantiat4 a7non-aliaced7dst4/aline" s="line" nam v2L235">323"44lass="10"4ref">den9try4/a>)v"4496">32964/a>3333b1R123Tidv2L20@st4/a:aist4/a  deinstantiat4rene" s="line" nam v2L235">323"447ass="10"4he_lru_l93464/a>{v"44a9he.c#9207" idv2L307" class="@svode:*svode* deatt235* deins=7dst4/aline" s="line" nam v2L235">323"448ass="10"4lock hel94/a>))3{v"4 a9he.c#9408" idv2L308" class"line" s="line" nam v2L235">323"4 9ass="10"4omment">9UNE4/a>)v"4 a9he.c#9409" idv2L209" class="Fasl"r *svode*svformatio  r *t u*st4/a3 On success,e"3u""""""s NULLneft"oyedalled _prior_ to unhas"45lass=L10"4ref">den9ry4/a>);p"45r9he.c#9208" idv2L308" class="If"207unhashe" aliac"of "st4/a" already ex333s,et undo_d""""""4th4rene" s="line" nam v2L235">323"45lass=L10"4 v2L350"933504/a>p"45a8he.c#8611" idv2L211" class= aliaced7dst4/aeinsteadpe padrop e8e e" et4/ce  deinodeneft"oyedalled _prior_ to unhas"45class=10"4he_lru_l9ck4/a>);p"45a8he.c#8642" idv2L342" class=eft"oyedalled _prior_ to unhas"45ne" na10"4le syste9ry4/a>);p"45a8he.c#8543" idv2L343" class="Note  l54e"n ordedhio4avoi61conflicts with*aonamo() etc," *tocalledeft"oyedalled _prior_ to unhas"45ine" n10"4sref">in9ck4/a>);p"45a9he.c#9044" idv2L344" class="hadpbettedhbe holding" *toda>on54directo/aesemaphoreneft"oyedalled _prior_ to unhas"45lass="10"4v2L304">93333333}p"4510"s4>10"45" idv2L245" class=eft"oyedalled _prior_ to unhas"45lass="10"4sref">de93554/a>}p"4596">32964/a>3333b1R123Tidv2L20r b96ilso6idvum" * l54e feusnode*ode4/ has been4incre" cledeft"oyedalled _prior_ to unhas"457ass="10"4he_lru_l933564/a>p"45a9he.c#9207" idv2L307" class="(or oblerwise set) by" *tocalledhio4indieate  l54e"3us=7noweft"oyedalled _prior_ to unhas"458ass="10"4lock hel9ist4/a>)v"45a9he.c#9408" idv2L308" class= r *use by" *to_ to uneft"oyedalled _prior_ to unhas"459ass="10"4omment">93584/a>{v"45a9he.c#9409" idv2L209" class=*=s o_d"*m v2L308">33084/a>4spa"46lass=L10"4he_lru_l9ck4/a>);p"46e9assstatic idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct dentry_lru_move_lst4/a>(st,*m v2L308">33084/a>4spa"46lass=L10"4 v2L350"94/a>))3{v"46a9he.c#9961" idv2L36111111111111111111111111111111idv2L316"st" class="srivodery" cnexpmove_livodeef"cruct );p"4628he.t ++;p"46a8he.c#8763" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct aliac>-suhil;in9d4/a>++;p"4649he.c#9915" in316"st" class="srlenry" cs_i>WARN_Olenef"c>uct dentry_lru_move_lst4/a>(stareopt;WARN_Olenef"chil;9}3else3{v"46a9he.c#9915" /o st3charruct uct dentry_lru_move_lst4/a>(stareopt;de9st4/a>);p"46a9he.c#9916" unsigned"r 316"st" class="srhashry" cnexpmove_lhashef"c>uct dentry_lru_move_lst4/a>(stareopt;"4678he.c#8763" idv2L316"st" class="srhN3333vodery" cnexpmove_lhN3333vode>(struct tref=hil;"46a9he.c#9948" if="+code=d_loc"469ass="10"4omment">9="sref">d_inode"4omm>"46a9he.c#9949" " cl""""" class="linivodery" cnexpmove_livodeef"ccct "4710"sr>10"s6" idv2L316" class="ine37"__d_instantiat4 cd_chil>WARN_O__d_instantiat4ref=ect dentry_lru_move_lst4/a>(st,_ct y_lru_move_lNULLef"cchil;"47a9he.c#9961" idv2L361""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct );p"47a9he.c#9122" >10"12" idv2L355" class="47ne" na10"4try_unus9ck4/a>);p"47a8he.ct )v"4749he.c#9261" idv2L361"f="+cohN3333for_ede=_f">dentry_lru_move_lhN3333for_ede=_f">deref=ect aliac>-su,_ct tref=,_f="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;ruct dealiac>-subct 9de4/a>);p"47a9he.c#9915" c#9261" i10"45" idv2L245" class=line" nam v2L308">33084/a>4spa"47lass="10"4sref">de9put4/a>)v"4796">32964/a>3333b1R123Tidv2LLLLLLLLLLLLLLLLL* Do8T#39;td"wv2paliacareopdentry lere,obecause aliaces withline" nam v2L308">33084/a>4spa"477ass="10"4 v2L356"9de4/a>);p"47a9he.c#9207" idv2L307" classssssssssLLLLLLLL* dentry"  ==*st4/aareopdentry"  try7not3iubjecthio4p"47a9he.c#9408" idv2L308" classssssssssLLLLLLLL* ntry"  changes,obecause  *toda>on54svode*s_mutexus=7heldneft"oyedalled _prior_ to unhas"479ass="10"4omment">9de4/a>);p"47a9he.c#9409" idv2L209" classssssssssLLLLLLLL**=s o_d"*m v2L308">33084/a>4spa"48lass=L10"4> .3 3339}3else3{v .>"4810"sr>10"s6" idv2L316" class=" claine37"aliaclasubdir sref">aliac>-su&(stbdir !uct );p"48a9he.c#9961" idv2L36111111111/o tinueuct "48a9he.c#9812" idv2L312" class=" claine37"aliaclasubdir sref">aliac>-su&(str!uct dentry_lru_move_lst4/a>(stareopt;(stcil;}p"48a8he.c#8763" idv2L363" class=/o tinueuct p"48a8he.c#8914" idv2L314" class=" claine37"aliaclasubdir sref">aliac>-su&(stbdir WARN_Olenef"c>!uct WARN_Olenef"ccct 9*4/spa="v"48a9he.c#9915" idv2L315" class=/o tinueuct de9m4/spa="v"48a9he.c#9916" idv2L316" class=" claine37"s="sre_cmtry" claopsref">i="sre_cmtref=ect aliac>-su,_ct WARN_Olenef"cccct "48a9he.c#9175" idv2L365" class=/o tinueuct 9/4/spa="valiac>-suchil;de9try4/a>)v"48a9he.c#9949" idv2L348""""""4" class="line" aliaclasubdir sref">aliac>-suhil;d_9ock4/a>)v"49v8he.c#8616" >10"12" idv2L355" class="49lass=L10"4UG_ON4/a9ock4/a>)v"49a8he.uct {v"49a9he.c#9122" idv2L322" class__d_instantiat4 cd_chil>WARN_O__d_instantiat4ref=ect dentry_lru_move_lst4/a>(st,_ct ;p"4sa8he.c#8763" """"""4" class="line" NULLf">y_lru_move_lNULLef"cuct ;p"4sa8he.>10"12" idv2L355" class="49lass="10"433544/a>9as4/a>);p"49a9he.10"12" idv2L355" class="49lass="10"4sref">de9ry4/a>);p"49a9he.c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct dentry_lru_move_lst4/a>(st,1idv2L316"st" class="srivodery" cnexpmove_livodeef"cruct );p"4978he.t 9ck4/a>);pdentry_lru_move_list4/a>(struct i_n9ink4/a>)v"49a9he.ct in10"sre/a>)vWARN_OhN3333unhashe"a href="+code=spin_unlockf">dentry_lru_move_lst4/a>(stareopt;dealiac>-subchil;in10"ck4/a>)v{vin10"de4/a>;p33L359">33594/a> .3 333333L359">3359ientry4/a>chil;in10"LL4/a>;pWARN_O__d_instantiat4333iqu4ref=ect dentry_lru_move_lst4/a>(st,_ct 9as4/a>);pde9ry4/a>);p33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;);p9ck4/a>);pi_n9ink4/a>)vWARN_Osecurity_d_instantiat4ref=ect dentry_lru_move_lst4/a>(st,_ct de9try4/a>)v"5110"sr>10"s6" idv2L316""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct 931 {v"51a9he.c#9261" >10"12" idv2L355" class="512ass=L10"52ref">d_94/a>))3{v"51a8he.ct d_9ck4/a>);p"5139he.c#9261" idv2L361"f="+coBUG_ONry" cnexpmove_lBUG_ONref=e""""" class="lind3unhashe" cd_chil>WARN_Od3unhashe"a hre"""" class="linresul o_subtreemove_lresul ef"cbchil;in9ru4/a>);p"5149he.c#9261" idv2L361"f="+coipu o_subtreemove_lipu a hre"""" class="linivodery" cnexpmove_livodeef"cchil;9d4/a>++;p"51a9he.c#9915" """"""4" class="line" resul o_subtreemove_lresul ef"cuct ++;p"5196">3>10"12" idv2L355" class="5s7ne" n10"5omment">9ck4/a>);p"5178he.gt;"51a9he.c class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eeinstantiat4333iqu4 cd_chil>WARN_Od_instantiat4333iqu4ref=chil;}p"51a9he.ct v"5209he.c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct de9try4/a>)v"52a8he.t d_93214/a>{v"5228he.c#8616" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct y_lru_move_lNULLef"cuct d_9ru4/a>);p"52a8he.ct in9IST4/a>;p"5249he.c#9915" i class=" claine37"roo eivodery" cnexpmove_lroo eivodeef"ccct 9d4/a>--;p"52a9he.c#9915" idv2L315static /o st3idv2L316"st" class="srqidv>33L296">32964/qidv>(strct "/"=s o_d", 1chil;nr_unus9d4/a>--;pnr>"5269he.UGrrierhef="+code=d_loc15 7ne" n10"5omment">93264/a>}p"52a9he.c#9175" idv2L365ct __d_al=de33332964/ieib>(struf="+code=spin_unlockdp"52a9he.c#9148" idv2L348i class=" claine37"reso_subtreemove_lresef"ccil;"52a9he.c#9949" idv2L348idv2L365ct "5310"sr>10"s6" idv2L316elseil;de9/4/spa="v"53a9he.c#9961" idv2L36111111111idv2L361"f="+coipu o_subtreemove_lipu a hre"""" class="linroo eivodery" cnexpmove_lroo eivodeef"cchil;de9try4/a>)v"53a9he.c#9122" >10"12" idv2L355" class="5mne" na10"524/a>33393324/a>{v"53a8he.c#8763" """"""4" class="line" reso_subtreemove_lresef"chil;in94/a>))3{v"53a8he.>10"12" idv2L355" class="5mlass="10"5v2L304">9ck4/a>);p"53a9he.c class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eemake_roo o_subtreemove_ldemake_roo ref=chil;den9ry4/a>);p"5369he.UGrrierhef="+code=d_loc1537ass="10"5he_lru_l9ck4/a>);p"5379he.static idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct __d_find_anyealiacref=eidv2L316"st" class="srivodery" cnexpmove_livodeef"cruct "5389he.t 93384/a>}p"53a9he.c#9949" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct aliac>-suhil;v"54v8he.il;de9*4/spa="v"54a9he.c#9961" " class=" claine37"hN3333emptentry_lru_move_lhN3333emptea href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;ccil;"54a9he.c#9812" idv2L312""""""4" class="line" NULLf">y_lru_move_lNULLef"cuct "5439he.c#9261" idv2L361"f="+coaliaclasubdir sref">aliac>-suruct dentry_lru_move_lhN3333f">deref=ect bdir (st,1idv2L316"st" class="sree=dentryy_lru_move_list4/a>(st,_ct dealiac>-subuct in9.4/spa="v"5449he.c#9261" idv2L361"f="+co__dge o_subtreemove_l__dge ref=ect aliac>-suchil;9/4/spa="v"54a9he.c#9915" """"""4" class="line" aliaclasubdir sref">aliac>-suhil;den9try4/a>)v"5496">3>10"12" idv2L355" class="547ass="10"5he_lru_l93464/a>{v"5478he.gt;))3{v"5 a9he.c#9408" idv2L308" class="line" s="line" nam v2L235">323"5 9ass="10"5omment">9UNE4/a>)v"5 a9he.c#9409" idv2L209" class="d_find_anyealiac - fandpe y aliac"for apgive *svodeline" s="line" nam v2L235">323"55lass=L10"5ref">den9ry4/a>);p"55r9he.c#9208" idv2L308" class="@svode:*svode* defandpe  aliac"forline" s="line" nam v2L235">323"55lass=L10"5 v2L350"933504/a>p"55a8he.c#8611" idv2L211" class=line" s="line" nam v2L235">323"55class=10"5he_lru_l9ck4/a>);p"55a8he.c#8642" idv2L342" class="If"20y aliaces ex333"for  *togive *svode, takepe pa""""""4aline" s="line" nam v2L235">323"55ne" na10"5le syste9ry4/a>);p"55a8he.c#8543" idv2L343" class="r" et4/ce for e8e of  *tm. "If"no aliaces ex333,a""""""4%NULLneft"oyedalled _prior_ to unhas"55ine" n10"5sref">in9ck4/a>);p"55a9he.c#9044" idv2L344" class=*=s o_d"*m v2L308">33084/a>4spa"55lass="10"5v2L304">93333333}p"5510"s4c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct d_find_anyealiacref=eidv2L316"st" class="srivodery" cnexpmove_livodeef"cruct de93554/a>}p"5596">3t p"5578he.c#8763" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct )v"55a9he.c#9948" if="+code=d_loc"559ass="10"5omment">93584/a>{v"5599he.c#9261" idv2L361"f="+coie=dentry4">33L359">33594/a> .3 333333L359">3359ientry4/a>chil;);p"56v8he.c#8616" " class=" classefntry_lru_move_lis>-suruct __d_find_anyealiacref=e"""" class="linivodery" cnexpmove_livodeef"cchil;))3{v"56a9he.c#9261" idv2L361"f="+coie=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;);p"56a9he.c#9812" """"""4" class="line" efntry_lru_move_lis>-suhil;++;p"56a8he.>10"12" idv2L355" class="56ine" n10"5sref">in9d4/a>++;p"5649he.c class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eefind_anyealiaclasubdir sref">d_find_anyealiacref=chil;9}3else3{v"56a9he.10"12" idv2L355" class="56lass="10"5sref">de9st4/a>);p"5696">32964/a>3333b1R123Tidv2s="line" s="line" nam v2L235">323"567ass="10"5 v2L356"93333333}p"56a9he.c#9207" idv2L307" class="d_obta333aliac - fandpor al=deat4 a7dst4/aefor apgive *svodeline" s="line" nam v2L235">323"568ass="10"5lock hel9" class="srdv2L"5loc>"56a9he.c#9408" idv2L308" class= @svode:*svode* deal=deat4  *to_st4/aeforline" s="line" nam v2L235">323"569ass="10"5omment">9="sref">d_inode"5omm>"56a9he.c#9409" idv2L209" class=line" s="line" nam v2L235">323"57lass=L10"5lass="li9e"spa= class="c"5las>"57r9he.c#9208" idv2L308" class="Obta33 a7dst4/aefor a *svode*resul ing"from NFS fasehe ple*odnversio  orline" s="line" nam v2L235">323"57lass=L10"5UG_ON4/a9("57a8he.c#8611" idv2L211" class= similar epe *by he ple*operatio s. "Th_d""""""ed7dst4/aemayhbe anonymous,line" s="line" nam v2L235">323"57class=10"5he_lru_l9ck4/a>);p"57a8he.c#8642" idv2L342" class="or mayhhav4 a7full4p);p"57a8he.c#8543" idv2L343" class=3st"oyedalled _prior_ to unhas"57ine" n10"5he_lru_l9ink4/a>)v"57a9he.c#9044" idv2L344" class="W undcalledpo3 a7directo/aesvode, we mu33"ensure* l54e feusnode*only evedeft"oyedalled _prior_ to unhas"57lass="10"5v2L304">9de4/a>);p"5710"s4>10"45" idv2L245" class="has e8e dst4/a3 "If"27dst4/aeic"found,  l54e"sd""""""ed7insteadpofeft"oyedalled _prior_ to unhas"57lass="10"5sref">de9put4/a>)v"5796">32964/a>3333b1R123Tidv2L*eal=deating"a new e8eneft"oyedalled _prior_ to unhas"577ass="10"5 v2L356"9de4/a>);p"57a9he.c#9207" idv2L307" class=3st"oyedalled _prior_ to unhas"578ass="10"5lock hel93333elsep"57a9he.c#9408" idv2L308" class* On successfuld""""""," *tor" et4/ce  de feusnode*has been4trans etredeft"oyedalled _prior_ to unhas"579ass="10"5omment">9de4/a>);p"57a9he.c#9409" idv2L209" class*  de feudst4/a3 "Indcase of 409etror  *tor" et4/ce one feusnode*"sd""leacedneft"oyedalled _prior_ to unhas"58lass=L10"5> .3 3339}3else3{v .>"58r9he.c#9208" idv2L308" class="To makee"3ueaciedhio4use r *export*operatio s"a %NULL"or IS_ERRusnode*mayeft"oyedalled _prior_ to unhas"58lass=L10"5UG_ON4/a9ck4/a>);p"58a8he.c#8611" idv2L211" class= btodassed7inpe pawasl"b4  *toetror wasl"b4 propagat4  o  *tor"""""4value,line" s="line" nam v2L235">323"58class=10"5he_lru_l93333333}p"58a8he.c#8642" idv2L342" class="with*a %NULL"@svode*replaced7by ERR_PTR(-ESTALE)neft"oyedalled _prior_ to unhas"58ne" na10"5try_unus92824/a>}p"58a8he.c#8543" idv2L343" class=*=s o_d"*m v2L308">33084/a>4spa"58ine" n10"5he_lru_l932834/a>p"58a8he.c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct d_obta333aliacref=eidv2L316"st" class="srivodery" cnexpmove_livodeef"cruct 9*4/spa="v"58a9he.t de9m4/spa="v"58a9he.c#9916" static /o st3idv2L316"st" class="srqidv>33L296">32964/qidv>(strct anonidving>-suruc{ bdir ""=s o_d" }hil;"5878he.c#8763" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct tmtref=hil;9/4/spa="vdentry_lru_move_list4/a>(struct de9try4/a>)v"58a9he.ct d_9ock4/a>)v"59v8he.c#8616" " cl""""" class="linivodery" cnexpmove_livodeef"ccct )v"59a9he.c#9961" idv2L361""""""4" class="line" ERR_PTRry" ce4/amove_lERR_PTRref=e-" class="line" ESTALEry" ce4/amove_lESTALEref=chil;{v"5928he.c#8616" " class=" claine37"IS_ERRry" ce4/amove_lIS_ERRref=e"""" class="linivodery" cnexpmove_livodeef"cccct ;p"59a8he.c#8763" idv2L363""""""4" class="line" ERR_CASTtryy_lru_move_lERR_CASTref=e"""" class="linivodery" cnexpmove_livodeef"cchil;;p"5sa8he.il;9as4/a>);p"59a9he.c#9915" " d_find_anyealiacref=e"""" class="linivodery" cnexpmove_livodeef"cchil;de9ry4/a>);p"5969he.c#9261" " class=" claine37"reso_subtreemove_lresef"ccil;);p"59a9he.c#9175" idv2L365go o ass=" claine37"out_ipu o_subtreemove_lout_ipu ef"chil;9ck4/a>);pi_n9ink4/a>)v"5999he.c#9261" idv2L361"f="+cotmtry" claopsref">tmtref=ruct __d_al=de33332964/ieib>(struf="+code=spin_unlockanonidving"asubdir sref">anonidving>-suchil;in10"sre/a>)vtmtref=cct in10"ck4/a>)v-suchil;{vin10"de4/a>;p10"12" idv2L355" class="6line" n10"6ref">in10"LL4/a>;p9as4/a>);p33L359">33594/a> .3 333333L359">3359ientry4/a>chil;de9ry4/a>);p__d_find_anyealiacref=e"""" class="linivodery" cnexpmove_livodeef"cchil;);p9ck4/a>);p33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;i_n9ink4/a>)vtmtref=chil;de9try4/a>)v"6110"sr>10"s6" idv2L316go o ass=" claine37"out_ipu o_subtreemove_lout_ipu ef"chil;931 {v"61a9he.c#9261" >10"12" idv2L355" class="612ass=L10"62ref">d_94/a>))3{v"61a8he.ct d_9ck4/a>);p"6139he.c#9261" i964/a>3333b1R123Tidv2s=eatt235*a7disconnected7dst4/ae=*=s o_d"*m v2L308">33084/a>4spa"61ine" n10"6sref">in9ru4/a>);p"6149he.c#9261" idv2L361"f="+coie=dentry4">33L359">33594/a> .3 3333tmtref=areopt;dentry4/a>chil;9d4/a>++;p"61a9he.c#9915" " tmtref=areopt;++;p"61a9he.c#9916" " tmtref=areopt;d_flagc9he.c|uct DCACHE_DISCONNECTEDef"chil;9ck4/a>);p"6179he.c#9261" idv2L361"f="+cohN3333add_hea" cd_chil>WARN_OhN3333add_hea"333tmtref=areopt;dealiac>-su,_f="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;chil;"6189he.c#9261" idv2L361"f="+cohN3333blentry" class="sref">hN3333blentry333tmtref=areopt;33L296">32964/deib>(stareopt;33L359">33594_anon4/a>chil;}p"6199he.c#9261" idv2L361"f="+cohN3333bleadd_hea" cd_chil>WARN_OhN3333bleadd_hea"333tmtref=areopt;-su,_f="+code=spin_unlocktmtry" claopsref">tmtref=areopt;33L296">32964/deib>(stareopt;33L359">33594_anon4/a>chil;v"62v8he.c#8616" " class=" classhN3333blentry4">33L296">32964/hN3333blentry4"333tmtref=areopt;33L296">32964/deib>(stareopt;33L359">33594_anon4/a>chil;de9try4/a>)v"62a9he.c#9261" idv2L361"f="+coie=dentry4">33L296">32964/a>333333334a href="+code=spin_unlocktmtry" claopsref">tmtref=areopt;dentry4/a>chil;d_93214/a>{v"62a9he.c#9122" idv2L322" classie=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;d_9ru4/a>);p"6239he.c#9261" idv2L361"f="+cosecurity_d_instantiat4 cd_chil>WARN_Osecurity_d_instantiat4ref=ect tmtref=,_ct in9IST4/a>;p"62a8he.il;9d4/a>--;p"62a9he.c#9915" """"""4" class="line" tmtry" claopsref">tmtref=hil;nr_unus9d4/a>--;pnr>"6269he.UGrrierhef="+code=d_loc16 7ne" n10"6omment">93264/a>}p"62a9he.cass=" claine37"out_ipu o_subtreemove_lout_ipu ef"c:UGrrierhef="+code=d_loc16 8ne" n10"6lock hel933274/a>p"6289he.c#9915" " class=" claine37"reso_subtreemove_lresef"crf="+cf="+c """"" class="linIS_ERRry" ce4/amove_lIS_ERRref=e"""" class="linreso_subtreemove_lresef"cccil;"62a9he.c#9949" idv2L348idv2L361"f="+cosecurity_d_instantiat4 cd_chil>WARN_Osecurity_d_instantiat4ref=ect "63v8he.c#8616" " class=" classipu o_subtreemove_lipu a hre"""" class="linivodery" cnexpmove_livodeef"cchil;de9/4/spa="v"63a9he.c#9961" """"""4" class="line" reso_subtreemove_lresef"chil;de9try4/a>)v"63a9he.>10"12" idv2L355" class="6mne" na10"624/a>33393324/a>{v"63a8he." class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eeobta333aliaclasubdir sref">d_obta333aliacref=chil;in94/a>))3{v"63a8he.il;9ck4/a>);p"6310"s4>10"45" idv2L245" class="line" s="line" nam v2L235">323"636ne" n10"6ref">den9ry4/a>);p"6396">32964/a>3333b1R123Tidv2L*edeiplice3aliac - iplice*a7disconnected7dst4/aein o  *totree " ce8e ex333sline" s="line" nam v2L235">323"637ne" n10"6he_lru_l9ck4/a>);p"63a9he.c#9207" idv2L307" class="@svode:*e feusnode*which mayhhav4 a7disconnected7dst4/aline" s="line" nam v2L235">323"638ne" n10"6lock hel93333333}p"63a9he.c#9408" idv2L308" class= @dst4/a:"a negativto_st4/aewhich we*wanthio4pointhio4 feusnodeneft"oyedalled _prior_ to unhas"6m9ass="10"6omment">93384/a>}p"63a9he.c#9409" idv2L209" class=line" s="line" nam v2L235">323"64lass=L10"6 v2L339"933394/a>v"64r9he.c#9208" idv2L308" class="If"snode*"sda7directo/aee pahas a 'disconnected'o_st4/ae(i.e. IS_ROOTee pline" s="line" nam v2L235">323"64lass=L10"6sref">de9*4/spa="v"64a8he.c#8611" idv2L211" class= DCACHE_DISCONNECTED),et undd_move  l54e"n place of  *tpgive *dst4/aline" s="line" nam v2L235">323"64class=10"6 be prun9d4/spa="v"64a8he.c#8642" idv2L342" class="e pa""""""4it,6else simplydd_adde feusnode* de feudst4/a"e pa""""""4NULLneft"oyedalled _prior_ to unhas"6 ne" na10"6le syste9.4/spa="v"64a8he.c#8543" idv2L343" class=3st"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.4/spa="v"64a9he.c#9044" idv2L344" class="r b96s=7needed7inp feulookup routine of 40y fasesystem  l54e"sdexportableline" s="line" nam v2L235">323"6 lass="10"6v2L304">9/4/spa="v"6410"s4>10"45" idv2L245" class="(via knfsd) so  l54ewu*L2n buildo_ to u paths* dedirecto/ies effectivelyneft"oyedalled _prior_ to unhas"6 6ne" n10"6ref">den9try4/a>)v"6496">32964/a>3333b1R123Tidv2L*eft"oyedalled _prior_ to unhas"6 7ne" n10"6he_lru_l93464/a>{v"64a9he.c#9207" idv2L307" class="If"27dst4/aewac"found"e pamoved,et undi4e"sd""""""ed.  Oblerwise NULLeft"oyedalled _prior_ to unhas"6 8ne" n10"6lock hel94/a>))3{v"6 a9he.c#9408" idv2L308" class= rsd""""""ed.  r b96mato us  *toexpected7r"""""4value of areoplookupneft"oyedalled _prior_ to unhas"6 9ass="10"6omment">9UNE4/a>)v"6 a9he.c#9409" idv2L209" class=eft"oyedalled _prior_ to unhas"65lass=L10"6ref">den9ry4/a>);p"65r9he.c#9208" idv2L308" class=*=s o_d"*m v2L308">33084/a>4spa"65lass=L10"6 v2L350"933504/a>p"65a8he.c#v2L316"st" class="sref">dentry_lru_move_list4/a>(struct 32964/deiplice3aliacref=eidv2L316"st" class="srivodery" cnexpmove_livodeef"cruct (stcil;);p"6528he.t );p"65a8he.c#8763" idv2L316"st" class="sref">dentry_lru_move_list4/a>(struct y_lru_move_lNULLef"cuct in9ck4/a>);p"65a8he.il;93333333}p"65a9he.c#9915" " class=" claine37"IS_ERRry" ce4/amove_lIS_ERRref=e"""" class="linivodery" cnexpmove_livodeef"cccct de93554/a>}p"65a9he.c#9916" idv2L316""""""4" class="line" ERR_CASTtryy_lru_move_lERR_CASTref=e"""" class="linivodery" cnexpmove_livodeef"cchil;p"6578he.gt;)v"6589he.c#9915" " class=" claine37"ivodery" cnexpmove_livodeef"crf="+cf="+c ass=" claine37"S_ISDIRry" ce4/amove_lS_ISDIRref=e"""" class="linivodery" cnexpmove_livodeef"careopt;93584/a>{v"65a9he.c#9949" idv2L348idv2L361"f="+cose=dentry4">33L359">33594/a> .3 333333L359">3359ientry4/a>chil;);p"6610"sr>10"s6" idv2L316ct __d_find_aliacref=e"""" class="linivodery" cnexpmove_livodeef"c, 1chil;))3{v"66a9he.c#9961" idv2L361" class=" claine37"newntry_lru_move_lnewef"ccct );p"66a9he.c#9812" idv2L312idv2L316ct d_flagc9he.cf="+c ass=" claine37"DCACHE_DISCONNECTEDlasubdir sref">DCACHE_DISCONNECTEDef"cbchil;++;p"66a8he.c#8763" idv2L363" class=idv2L322" classie=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;in9d4/a>++;p"66a8he.c#8914" idv2L314" class=idv2L322" classiecurity_d_instantiat4 cd_chil>WARN_Osecurity_d_instantiat4ref=ect 9}3else3{v"66a9he.c#9915" idv2L315" class=t;d_moveref=ect de9st4/a>);p"66a9he.c#9916" idv2L316" class=t;"66a9he.c#9175" idv2L365}6else t "66a9he.c#9148" idv2L348" class=t964/a>3333b1R123Tidv2s=ealready taking"ivodeareopientry, so d_add()*by he ps=*=s o_d"*m v2L308">33084/a>4spa"669ass="10"6omment">9="sref">d_inode"6omm>"66a9he.c#9949" idv2L348idv2L365ct (st,_ct "6710"sr>10"s6" idv2L316" class=idv2L322" classie=dentry4">33L296">32964/a>333333334a href="+code=spin_unlockivodery" cnexpmove_livodeef"careopt;33L359">3359ientry4/a>chil;"67a9he.c#9961" idv2L36111111111idv2L361"f="+coiecurity_d_instantiat4 cd_chil>WARN_Osecurity_d_instantiat4ref=ect );p"67a9he.c#9812" idv2L312idv2L316ct );p"67a8he.c#8763" idv2L363>10"12" idv2L355" class="67ine" n10"6he_lru_l9ink4/a>)v"67a8he.c#8914" }6elseil;9de4/a>);p"67a9he.c#9915" idv2L315ct de9put4/a>)v"67a9he.c#9916" """"""4" class="line" newntry_lru_move_lnewef"chil;);p"67a9he.>10"12" idv2L355" class="678ass="10"6lock hel93333elsep"67a9he.c class="line" EXPORT_SYMBOtry" ce4/amove_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">32964/deiplice3aliacref=chil;9de4/a>);p"67a9he.ct  .3 3339}3else3{v .>"68r9he.c#9208" idv2L308" class="line" s="line" nam v2L235">323"68lass=L10"6UG_ON4/a9ck4/a>);p"68a8he.c#8611" idv2L211" class= deadd_ci -ulookup or al=deat4 new dst4/aewgib>(struf3b1R5c#9916" ""16=d_loc"65/a>chil;);p"58a8he.c#8543" idv6L343"6class=*=s o_d"*m v2L308">330844/aewhich  a7d*wanthio4pointhi pathsdi4toetror4NULLneparoinOTee s4st4/aewfunc;)v"58a8he.c#v2L316"st6 clas68lass="r b96s=7needed7inp feulo@2L31av4d _prioloc"65/a>chilr4NUne" ssocee=dd ""16=te anonymous,line" ;);p"58a9he.t )v"58a9he.c#9916" sta6ic /o68dv2L*edeiplice3aliac - iplice*okup rouorlivoidrtabl d_aLLnefes eff""16=d_locessensithio4916"sr4NULLn;);p"5878he.c#8763" idv6L316"68lass="If"27dst4/aewac"found"e shilr54e feupriorLLne5/aual cort"oy et4/croustor of 40y fafes eff3"569ass="10"5omment">9="sref">d_i6pa="v"59a9he.c#9915" "6L316"68lass= rsd""""""ed.  r b96mato d_locessensithio4tableline"so unhas"6 9ass="10"6omment">9UNE4/a>)v"58a9he.ct den9ry4//a>)v"59v8he.c#8616" " c6"""""69lass="If"snode*"sda7directo/aeF"lined_locessensithio4st4/aew"""4v""""" r *t u _prioloc"65/a>line" ;)v"59a9he.c#9961" idv6L361"69lass= deadd_ci -ulookup or al=pientry, v2L23f 40 40y fafes ef,s"a &#tplydd_adde feuo unhas"6 9ass="10"6omment">9UNE4/a>{v"5928he.c#8616" " c6ass="69lass="with*a %NULL"@svode unhas"6 9ass="10"6omment">9UNE4/>);p"59a8he.c#8763" idv6L363"69lass=*=s o_d"*m v2L308">330844"""4&#ointhi v2L23f""16=te a"65/a>et4/c763",b>(struf3b1R5c#9916" ""16 unhas"6 9ass="10"6omment">9UNE4/a>)v"5sa8he.il;et4/,plydd_adde fte ahref="d#ointho unhas"6 9ass="10"6omment">9UNE4/>);p"59a9he.c#9915" " <6 hr=h69lass="(via knfsd) so  l54ewu*/a>4spa"669ass="10"6omment">9="sra>);p"5969he.c#9261" " c6ass="6claine">dentry_lru_move_list4/a>(struct 329at4 neect (struct 9="sra>);p"59a9he.c#9175" idv6L365g6 o ass=" claine37"out_________dv>33L296">32964/qidv>(strct "65lass="10"6sref">de93554a>);p93386/a>)v"5999he.c#9261" idv6L361"6="+cotmtry" cldallru_move_lnewef" o  *uct#9409" idv2L o  *_loc"677ass="10"6 v2L356"9de47/a>)v(struct )v"59a9he.c#9961" idv7L361"7dentry_lru_move_list4/a>(struct )v"5928he.c#8616" " c7L312g70_loc"61ne" na10"63ref">d_9ck47/a>;p10712" i70b1R123Tidv2s=eatt235*a7disconnected7da>4spa"669ass="10"6omment">9="s7/a>;p323"58class=10"5he_lru_l93337a>);p9UNE7a>);p4spa"669ass="10"6omment">9="s7a>);pWe"sd"truct d_flparoinect ""677ass="10"6 v2L356"9de47/8);p)v(st,_ct d_flparoinect ""677ass="10"6 v2L356"9de47/a>)v"6110"sr>10"s6" idv7L316g7 o ass=" claine37"out_ry" " ce4/amove_lIS_ccct {v"61a9he.c#9261" >10712" i7111111idv2L361"f="+coiecurity_d_instantiat4 c o  *uct#9409" idv2L o  *_locnd_" ce4/amove_lENOMEM>-suchil;)v"61a8he.ct ;p"6139he.c#9261" i967/a>3371"12" idv2L355" class="67ine" n10"6he_lru_l9ink7a>);p"6149he.c#9261" idv7L361"71_loc"65lass="10"6v2L304">93337>++;p"61a9he.c#9915" " <7 hr=h71);p"61a9he.c#9916" " <7 hr=h71lass=t;);p"6179he.c#9261" idv7L361"71o ass=" claine37"out_________yealiaclasubdir hre"""" class="lintmtry" claopsref">tmtrefccct "6189he.c#9261" idv7L361"71lass=t964/a>3333b1R123Tidv2s=wntry_lru_move_lnewef"e"sd"truct }p"6199he.c#9261" idv7L361"71lass="ine37"dpu o_sub"67ine" n10"6he_lru_l9ink74/a>v"62v8he.c#8616" " c7ass="72o ass=" claine37"out_wntry_lru_move_lnewef"chil;)v"62a9he.c#9261" idv7L361"722L355" class="612ass=L10"62ref">d_94/a7/a>{v"62a9he.c#9122" idv7L322"72_loc"61ne" na10"63ref">d_9ck47a>);p"6239he.c#9261" idv7L361"72b1R123Tidv2s=eatt235*a7disconnected7da>4spa"669ass="10"6omment">9="s7/a>;p"62a8he.il;9UNE7>--;p"62a9he.c#9915" """7""4" 72lass="(via knfsd) so  l54ewuuuuuuuuua unhas"6 9ass="10"6omment">9UNE7>>);pnr>"6269he.UGrrierhef=7+code72dv2L*edeiplice3aliac - iplicuuuuuuuua Decen- ipode*"sd""leacedc"sdlled balan4traa7diget() donn;}p"62a9he.cass=" clai7e37"o72lass="If"27dst4/aewac"found"uuuuuuuua earlrationo unhas"6 9ass="10"6omment">9UNE7>8);p"6289he.c#9915" " c7ass="72lass= rsd""""""ed.  r b96matuuuuuuuua/a>4spa"669ass="10"6omment">9="s7pa="v"62a9he.c#9949" idv7L348i7v2L361"f="+cosry_lru_move_lnewef"e"sd"truct "63v8he.c#8616" " c7ass="73o ass=" claine37"out_ry" " cnexpmove_ldeunlikelst,_ct tmtrefe"sd"truct 93587pa="v"63a9he.c#9961" """7""4" 7311111idv2L361"f="+coiecurity_dalready taking"ivodeareookup canOTee t hap. "Theca"a &badr54e fs aro unee=dpecta/a>4spa"669ass="10"6omment">9="s7/a>)v"63a9he.>10"12" idv7L355"732L316ct {v"63a8he." class="li7e" EX73lass=idv2L322" classie=dentry4">33L296">3296_ONref=e"lass=" claine37"newntry_cnexpmove_livodes_badvodeef"cruct ;p"63a8he.il;d_94/a7a>);p"6310"s4>10"45" idv7L245"73);p"6396">32964/a>333371R12373"""4" class="line" ERR_CASTtryy_lru_move_lEe"sd"truct );p"63a9he.c#9207" idv7L307"737L355" class="612ass=L10"62ref">d_94/a7333}p"63a9he.c#9408" idv7L308"73_loc"599ass="10"5ref">i_n9ink7/a>}p"63a9he.c#9409" idv7L209"7391R123Tidv2s=eatt235*a7disconnected7da>4spa"669ass="10"6omment">9="s74/a>v"64r9he.c#9208" idv7L308"7class="If"snode*"sda7directo/////////* We aro go d_aLo ess="sree=draaup dointh, unee=d&#tplyddclearULLn;"64a8he.c#8611" idv7L211"7class= DCACHE_DISCONNECTED),e////////* st4/aewflag o_ds* dedid u pato unhas"6 9ass="10"6omment">9UNE7pa="v"64a8he.c#8642" idv7L342"7class="e pa""""""4it,6else si////////*/a>4spa"669ass="10"6omment">9="s7pa="v"64a8he.c#8543" idv7L343"743L361"f="+cosry_lru_move_lnewef"unlikelst,_ct tmtrefd_tine_st4/aeect de93557pa="v"64a9he.c#9044" idv7L344"74lass=idv2L322" classiaopsref">tmtrefd_clear_tine_st4/aeect "6410"s4>10"45" idv7L245"74ass="56lass="10"5sref">de9st47/a>)v"6496">32964/a>333371R1237461R123Tidv2s=eatt235*a7disconnected7da>4spa"669ass="10"6omment">9="s74>);p"64a9he.c#9207" idv7L307"7class="If"27dst4/aewac"found"////////* Nwanthio4pointh: ess="sree=dr#tpunlessft"oyedalled _39;disconnecteda>4spa"669ass="10"6omment">9="s7433}p"6 a9he.c#9408" idv7L308"7class= rsd""""""ed.  r b96mat////////* pientry,#39;o_dointho unhas"6 9ass="10"6omment">9UNE7/a>)v"6 a9he.c#9409" idv7L209"7class=eft"oyedalled _prior_ t////////*/a>4spa"669ass="10"6omment">9="s7a>);p"65r9he.c#9208" idv7L308"75lassipu o_subtreemove_lipu acruct p"65a8he.c#v2L316"st7 clas751L361"f="+cosry_lru_move_lnewef"ccct );p"6528he.t tmtrefe"sd"truct "65a8he.c#8763" idv7L316"75lass=idv2L322" classicnexpmove_ldeade"sd"truct );p"65a8he.il;d_94/a7333}p"65a9he.c#9915" " c7ass="7claine37"IS_ERR_CASTtryy_lru_move_lEe"sd"truct }p"65a9he.c#9916" idv7L316"75_loc16 7ne" n10"6omment">932674/a>p"6578he.gt;)v"6589he.c#9915" " c7ass="75"+cohN3333blentry" class="sr hre"""" class="linivodery" cnexpmove_livodeef"cchil;{v"65a9he.c#9949" idv7L348i7v2L361"f="+cosR_PTRry" ce4/amove_lERR_PTRref=e-" class="line" ESTALEryd_instantiat4 c o  *uct#9409" idv2L o  *_locc"667ass="10"6 v2L356"93337a>);p"6610"sr>10"s6" idv7L316c7 d_94/a7))3{v"66a9he.c#9961" idv7L361"7class=" ce4/amove_lERRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">329at4 neect );p"66a9he.c#9812" idv7L312i76_loc"61ne" na10"63ref">d_9ck47>++;p"66a8he.c#8763" idv7L363"76lass=*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="s7>++;p"66a8he.c#8914" idv7L314"76lass="r b96s=7needed7inp feuloDNULLneslow-et4/ce oLLneft"oyedchilred7paroo unhas"6 9ass="10"6omment">9UNE7se3{v"66a9he.c#9915" idv7L315"76lass="(via knfsd) so  l54ewu*;);p"66a9he.c#9916" idv7L316"76dv2L*edeiplice3aliac - iplice*UnlikeoLLneft"oye_cmp()wfuncERRueusnotineuorlitomiode, ;"66a9he.c#9175" idv7L365}76lass="If"27dst4/aewac"found"e loadaLLnechil, lengtv""""" dallednformaERRueuo u pathLLn;"66a9he.c#9148" idv7L348"76lass= rsd""""""ed.  r b96mato tableline" dedirelsdneft"om,plydddedi"a &LLneOTee 148"OTee pteda>4spa"669ass="10"6omment">9="s7ef">d_inod7"6omm>"66a9he.c#9949" idv7L348i76lass*  de feudst4/a3 "Indcase OTee lenOTee pdnformaERRu ""16ore worryled _bore walo d_aoffhLLn;"6710"sr>10"s6" idv7L316"77lass="If"snode*"sda7directo/aeen_ to memnnecetco unhas"6 9ass="10"6omment">9UNE7href="+cod7"6UG_>"67a9he.c#9961" idv7L361177lass= deadd_ci -ulookup or al unhas"6 9ass="10"6omment">9UNE7h>);p"67a9he.c#9812" idv7L312i77lass="with*a %NULL"@svode*Thusode*"sda316eqc"sdl_R_Pry()wlyddLLneOf="+cdu"st"e=dOf="+cpdnfo unhas"6 9ass="10"6omment">9UNE7h++;p"67a8he.c#8763" idv7L363>77lass=*=s o_d"*m v2L308">330844 wasrgu8">3s (y fasew-level tableline" s6orld44&t st4/ unhas"6 9ass="10"6omment">9UNE7h++;p"67a8he.c#8914" }6e7seil;77lass="r b96s=7needed7inp feuloathLLnce8e ex333alleordchilrednt">3s ;discolyeuoincn;"67a9he.c#9915" idv7L315c77lass="(via knfsd) so  l54ewu*Lrechilreia khang &LLnmio4 leusnOTee r %RCU +codto unhas"58ne" na10"5try_unus92827/a>)v"67a9he.c#9916" """7""4" 77dv2L*edeiplice3aliac - iplice/a>4spa"669ass="10"6omment">9="s7a>);p"67a9he.>10"12" idv7L355"7class=enum_d_instantiat4 cdsew_d nd7paroect "67a9he.c class="li7e" EX77"+cohN3333blentry" class="srD_COMP_OKect d_inod7"6omm>"67a9he.ct  .>"68r9he.c#9208" idv7L308"78lassipu o_subtreemove_lipu aD_COMP_SEQRETRYect "68a8he.c#8611" idv7L211"7class=c"587ass="10"5 v2L356"9.4/7ess="srivo7ery" cnexpmove_livodeef"c7idv2L78_loc"61ne" na10"63ref">d_9ck47e>);p"58a8he.c#8543" idv7L343"7class=" classyealiaclasubdircoinhe.c#8d_9ck47e++;p"58a8he.c#v2L316"st7 clas78lass=idv2L322" classic="+cr">dentry_lru_move_list4/a>(struct d_9ck47ee3{v"58a9he.t 9="s7ea>)v"58a9he.c#9916" sta7ic /o78"""4" class="line" ERodery" cnexpmove_livod4/a>(struct 9="s7e>);p"5878he.c#8763" idv7L316"78o ass=" claine37"out_unsign of 4" cnexpmove_livod6eqect 9="s7elsep"59a9he.c#9915" "7L316"78lass=t964/a>3333b1R12c="+cr">dentry_lru_move_list(strct "65lass="10"6sref">de93557/a>)v"58a9he.ct )v"59v8he.c#8616" " c7"""""79lass="lintmtry4" cnexpmove_livodtlenuct#9409" idv2Ltlend_find_aliaclasubdir sd/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fi"587ass="10"5 v2L356"9.4/7/a>)v"59a9he.c#9961" idv7L361"791L361"f="+cosc="+crkharnlru_move_lnewef"tc"cruct#9409" idv2Ltc"crderynd_aliaclasubdir sd/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">"587ass="10"5 v2L356"9.4/7/ss="srivo7"5he_>"5928he.c#8616" " c7ass="792L316ct d_flodeef"cruct );p"59a8he.c#8763" idv7L363"79lass=587ass="10"5 v2L356"9.4/7/++;p"5sa8he.il;(st,_ct d_fl6eqect 93587/>);p"59a9he.c#9915" " <7 hr=h79);p"5969he.c#9261" " c7ass="79"""4" class="line" ERR_CASTtryy_lru_move_lED_COMP_SEQRETRYect );p"59a9he.c#9175" idv7L365g797L355" class="612ass=L10"62ref">d_94/a7a>);pd_floeect dentrnd7paroect 9="s7/a>)v"5999he.c#9261" idv7L361"79lass="ine37"dpu o_subess="srd_addry" cnexpmove_ldead4/a>(st,_ct 9="s8/a>)v""65lass="10"6sref">de93558/1>)v"59a9he.c#9961" idv8L361"8011111idv2L361"f="+coiR_CASTtryy_lru_move_lED_COMP_NOMATCHect )v"5928he.c#8616" " c8L312g802L316ct )v"59a8he.c#8763" idv812" i80b1R12"612ass=L10"62ref">d_94/a8/a>;p93338a>);p323"68lass=L10"6UG_ON4/a9ck48a>);p323"68lass=L10"6UG_ON4/a9ck48a7);p"59a9he.c#9175" idv8ass="80lass="@svode:*e feusnode*which paroin:eparoin>line" ;"5999he.c#9261" idv8L348"80lass*  de feudst4/a3 "Indcase @deqp:rR_CASTs fl6eqt"oyedaathLLncyedallwhereoLLneft"oyeundi4e"sd";)v"6110"sr>10"s6" idv8L316g81lass="If"snode*"sda7directo/ae mayhhavR_CASTs ft"oyery" ccode=ivlwhen4 a7disconnedi4e"sd"""oyido unhas"58ne" na10"5try_unus92828oa>{v"61a9he.c#9261" >10812" i81lass= deadd_ci -ulookup or al=R_CASTs: dointh, "5 _ to unhas"6 8ne" n10"6lock hel94/a8/2>)v"61a8he.ct 9UNE8/a>;p"6139he.c#9261" i968/a>3381lass=*=s o_d"*m v2L308">330844a hrst4/ae_rcu7is0y fafes effst4/aewfuncERRu 3"5 rcu-walo idvingnhas"6 9ass="10"6omment">9UNE8/a>;p"6149he.c#9261" idv8L361"81lass="r b96s=7needed7inp feuloresoluERRu (otor -freefecti walo d_) dosign doscrib of 4ngnhas"6 9ass="10"6omment">9UNE8/>);p"61a9he.c#9915" " <8 hr=h81lass="(via knfsd) so  l54ewu*LDocu8">3aERRu/tableline"s/ecti-ior_ totxto unhas"6 9ass="10"6omment">9UNE8/>);p"61a9he.c#9916" " <8 hr=h81dv2L*eft"oyedalled _prior_ to unhas"6 7ne" n10"6he_lru_l93468a>);p"6179he.c#9261" idv8L361"81lass="@svode:*e feusnode*whichokup routotr4NUne"utroroutsionndor  vfso unhas"6 9ass="10"6omment">9UNE8/8);p"6189he.c#9261" idv8L361"81lass= @dst4/a:"a negativto_st unhas"6 9ass="10"6omment">9UNE8/9);p"6199he.c#9261" idv8L361"81lass*  de feudst4/a3 "Indcase a hrst4/ae_rcu7mustupriorne"utrorin rcu-walo +cod, ie.f""16=vfsm"sdllode=d_nhas"6 9ass="10"6omment">9UNE84/a>v"62v8he.c#8616" " c8ass="82lass="If"snode*"sda7directo/aeheld,plydd_cu_R_a+code=eheld.hok anonymous,line" 7mustutotrne"stor of 4to unhas"6 9ass="10"6omment">9UNE8/a>)v"62a9he.c#9261" idv8L361"82lass= deadd_ci -ulookup or al=""16ore  so d_a+code=elydddt"ck d_a+c6eqt6equeacedc"sdllagaess= @deq unhas"6 9ass="10"6omment">9UNE8/2>)v"62a9he.c#9122" idv8L322"82lass="with*a %NULL"@svode*nonymous,hereo unhas"6 9ass="10"6omment">9UNE8a>);p"6239he.c#9261" idv8L361"82lass=3st"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.4/8/a>;p"62a8he.il;in9.4/8/>);p"62a9he.c#9915" """8""4" 82lass="(via knfsd) so  l54ewu*wfuncERRuo unhas"6 9ass="10"6omment">9UNE8a>);pnr>"6269he.UGrrierhef=8+code82dv2L*edeiplice3aliac - iplico unhas"6 ine" n10"6sref">in9.4/8/>);p"62a9he.cass=" clai8e37"o82lass="If"27dst4/aewac"found"* Alternaior_ t, a hrst4/ae_rcu7mst4ne"ode,us,agaesr4NUst4/ aew _prihcto/of unhas"6 ine" n10"6sref">in9.4/8/8);p"6289he.c#9915" " c8ass="82lass= rsd""""""ed.  r b96mat*=te anonymous,line" euo uloed _p rtseparoinOTee s4deqode=eup ct"ckus,afterhLLn;"62a9he.c#9949" idv8L348i82lass*  de feudst4/a3 "Indcase ihcto/is4st4/us, to*Thus,plyf 4terode= d_ainepp d_aoft6equeacedode=ect"ck35">323"637ne" n10"6he_lru_l9ck48pa="v"63v8he.c#8616" " c8ass="83lass="If"snode*"sda7directo/aeii4e"rm  Obgiv d_addtegt 9UNE8pa="v"63a9he.c#9961" """8""4" 83lass= deadd_ci -ulookup or al unhas"6 9ass="10"6omment">9UNE8/a>)v"63a9he.>10"12" idv8L355"83lass="with*a %NULL"@svode*NOTE!hok aode,ur *has*r4NUct"ck=te anosult d_adointhiagaess= LLnesequeace unhas"6 9ass="10"6omment">9UNE8/>);p"63a8he." class="li8e" EX83lass=*=s o_d"*m v2L308">330844numbur snOTee v anonymous,befor  usled _nyce oLLnenosult d_adointhi" cle! unhas"6 9ass="10"6omment">9UNE8/a>;p"63a8he.il;4spa"669ass="10"6omment">9="s8a>);p"6310"s4>10"45" idv8L245"83(struct dentry_lru_move_list4/a>(struct d_9ck48a>);p"6396">32964/a>333381R12383"""4" class="line" ERRRRRRRRRRRRRRRRRc="+cr">dentry_lru_move_list(strct "61ne" na10"63ref">d_9ck48a>);p"63a9he.c#9207" idv8L307"83o ass=" claine37"out_________________unsign oflru_move_lnewef"deqpect de93558333}p"63a9he.c#9408" idv8L308"83d_lru"5m9ass="10"5omment">93388/a>}p"63a9he.c#9409" idv8L209"83"+cohN3333bleadd_hea" cd_chiu"6sre>"66a8h,rss=uclass=iadd_hea" cd_chiee=dlenuct#9409" idv2Lee=dlenderynd_aliaclasubdir sc"cruct#9409" idv2Lidving">ry" class="sref">denee=d_lenuct#9409" idv2Lee=d_lend_fi"587ass="10"5 v2L356"9.4/84/a>v"64r9he.c#9208" idv8L308"84lass=idv2L322c="+crunsign ofkharnlru_move_lnewef"strct ry" class="sref">denc"cruct#9409" idv2Lidving">"587ass="10"5 v2L356"9.4/8pa="v"64a8he.c#8611" idv8L211"84a hr=h+code=r">dentry_lru_move_listhlist_bl_in_luct#9409" idv2Lelist_bl_in_ldery" cnexpmove_livodbuct#9409" idv2Lbderynd_aliaclasubdir sd_ashref=ect "64a8he.c#8642" idv8L342"842L316ct "64a8he.c#8543" idv8L343"84" class="sref">dentry_lru_move_list4/a>(struct (struct ;p"64a9he.c#9044" idv8L344"84_loc"65lass="10"6v2L304">93338pa="v"6410"s4>10"45" idv8L245"843307da>4spa"669ass="10"6omment">9="s8/a>)v"6496">32964/a>333381R1238idv2L*eft"oyedalled _prior_ ttttttttte*Note:hok r/crousignificain>lu"st"e=RRu ""16 a hrst4/ae_rcu7whichcroa>4spa"669ass="10"6omment">9="s8/>);p"64a9he.c#9207" idv8L307"8class="If"27dst4/aewac"found"////////* requirneuorlprevoin>sledleoLLR_a+neuperformaacedregtessRRuoa>4spa"669ass="10"6omment">9="s8/33}p"6 a9he.c#9408" idv8L308"8class= rsd""""""ed.  r b96mat////////* especide, 4nefarchitecnymeslwhereosme_rmb (esr6eqc"sdls) aro costlho unhas"6 9ass="10"6omment">9UNE8/a>)v"6 a9he.c#9409" idv8L209"8class=eft"oyedalled _prior_ t////////* Keeew _prtwowfuncERRu3f 40synco unhas"6 9ass="10"6omment">9UNE8a>);p"65r9he.c#9208" idv8L308"85lass="If"snode*"sda7directo/////////*/a>4spa"669ass="10"6omment">9="s84/a>p"65a8he.c#v2L316"st8 clas851L361669ass="10"6omment">9="s84a="v"6528he.t 3307da>4spa"669ass="10"6omment">9="s84a="v"65a8he.c#8763" idv8L316"85lass=*=s o_d"*m v2L308">3308////////* ok aee=d&listcrouprotecnus, sled RCUo unhas"6 9ass="10"6omment">9UNE8aa>;p"65a8he.il;9UNE8aa="v"65a9he.c#9915" " c8ass="85lass="(via knfsd) so  l54ewuuuuuuuuuaeCarofue, 4"a &+c6eqtwhen4nd7parled _reiadide=drline" euorlivoid unhas"6 9ass="10"6omment">9UNE8aa>)v"65a9he.c#9916" idv8L316"85dv2L*eft"oyedalled _prior_ ttttttttte*race3f""16=srnewn(to unhas"58ne" na10"5try_unus928284/a>p"6578he.gt;"6589he.c#9915" " c8ass="85lass= rsd""""""ed.  r b96mat////////* ItcroupossRbleoLLat2c="curroin>rechilp can messfaewgur&list unhas"58ne" na10"5try_unus928284a>)v"65a9he.c#9949" idv8L348i85lass=eft"oyedalled _prior_ t////////* walo hereolydd_asultf 40missled gur&line" eunosult d_a 40y f unhas"58ne" na10"5try_unus92828a>);p"6610"sr>10"s6" idv8L316c86lass="If"snode*"sda7directo/////////* false-*wanthio4nosult. hrst4/ae()uprotecnsiagaess= c="curroin unhas"58ne" na10"5try_unus92828a/a>p"66a9he.c#9961" idv8L361"86lass= DCACHE_DISCONNECTED),e////////* rechilp  sled rechilcode=edeqode=o unhas"58ne" na10"5try_unus92828a>);p"66a9he.c#9812" idv8L312i86lass="e pa""""""4it,6else si////////* unhas"58ne" na10"5try_unus92828aa="v"66a8he.c#8763" idv8L363"86lass=*=s o_d"*m v2L308">330e////////* SeeLDocu8">3aERRu/tableline"s/ecti-ior_ totxt 3"5 mor  detailso unhas"6 9ass="10"6omment">9UNE8>++;p"66a8he.c#8914" idv8L314"86lass="r b96s=7needed7inp feu////////*/a>4spa"669ass="10"6omment">9="s8se3{v"66a9he.c#9915" idv8L315"8class=t;(st,_ct 93588a>);p"66a9he.c#9916" idv8L316"8class=t;"66a9he.c#9175" idv8L365}86lass=587ass="10"5 v2L356"9.4/8333}p"66a9he.c#9148" idv8L348"86RT_SYMBOtry" ce4/amodeqR_Pry"cruct d_inod8"6omm>"66a9he.c#9949" idv8L348i8v2L365ct 3307da>4spa"669ass="10"6omment">9="s8a= class="8"6las>"6710"sr>10"s6" idv8L316"87lass="If"snode*"sda7directo/////////////////* ok adointhi"equeacedc"sdllprotecnsius from c="curroin unhas"58ne" na10"5try_unus92828href="+cod8"6UG_>"67a9he.c#9961" idv8L361187lass= deadd_ci -ulookup or a////////////////* rechilp,wlyddLLuslprotecnsi54e feuparoin>lyddchilrfieldso unhas"6 9ass="10"6omment">9UNE8h>);p"67a9he.c#9812" idv8L312i87lass="with*a %NULL"@svod////////////////* unhas"6 9ass="10"6omment">9UNE8ha="v"67a8he.c#8763" idv8L363>87lass=*=s o_d"*m v2L308">3308////////////////* ok aode,ur mustuperform _r6eqc"sdl nt"ck" n orde569ass="10"5omment">9="sref">d_i8h++;p"67a8he.c#8914" }6e8seil;87lass="r b96s=7needed7inp feu////////////////* orldo _nytv d_a"a fue ""16=te anonymous,line" 35">323"58class=10"5he_lru_l93338ae3{v"67a9he.c#9915" idv8L315c87lass="(via knfsd) so  l54ewu////////////////* includ d_a"a d_aLLneOTee code=ivOTee pyedalero unhas"6 9ass="10"6omment">9UNE8h>);p"67a9he.c#9916" """8""4" 87dv2L*edeiplice3aliac - iplic////////////////* unhas"6 9ass="10"6omment">9UNE8h33}p"67a9he.>10"12" idv8L355"87lass="If"27dst4/aewac"found"////////////////* NOTE!hWeldo _eOf="+crawOf="+cp6eqc"sdl_beg n hereo okat2meansoLLat unhas"6 9ass="10"6omment">9UNE8h33}p"67a9he.c class="li8e" EX87lass= rsd""""""ed.  r b96mat////////////////* weldonOTee t wait 3"5 LLnesequeacedc"sdlled stabilizeery"it unhas"6 9ass="10"6omment">9UNE8hf">d_inod8"6omm>"67a9he.ct 9UNE8se3{v .>"68r9he.c#9208" idv8L308"8class="line" s="line" nam v2t////////////////* dointhind7paro,rsnodillldoUdeqR_Prilp  ntilr#tproustable35">323"58class=10"5he_lru_l93338sref="+cod8"6UG_>"68a8he.c#8611" idv8L211"8class= deadd_ci -ulookup or a////////////////* """" r snoen_ aew""16=aesucce3sfue ior_ t,rsno5/aual, ;9UNE8e>);p"58a8he.c#8543" idv8L343"8class=*=s o_d"*m v2L308">3308////////////////*/a>4spa"669ass="10"6omment">9="s8e++;p"58a8he.c#v2L316"st8 clas88lass=idv2L322" classi ce4/amove_lIS_6eqect (st,_ct d_fl6eqect "58a9he.t (st,_ct d_flparoinect de93558ea>)v"58a9he.c#9916" sta8ic /o88"""4" class="line" ERRRRRRRRRedntinue"66ne" na10"6le syste9d4/8e33}p"5878he.c#8763" idv8L316"88o ass=" claine37"out_ry" cnexpmove_livod4_unee=dpeect de93558elsep"59a9he.c#9915" "8L316"88lass=t964/a>3333b1R12RRRRRRRRedntinue"66ne" na10"6le syste9d4/8ef">d_inod8"5sre>"58a9he.ct )v"59v8he.c#8616" " c8"""""89lass=587ass="10"5 v2L356"9.4/8/ref="+cod8"5UG_>"59a9he.c#9961" idv8L361"8911111idv2L361"f="+coiry_lru_move_lnewef"unlikelst,_ct tmtrefparoinect d_flflag3aliacref=eidv2L31flag31111iery" tryy_lru_move_lEDCACHE_OP_COMPAREaliacref=eidv2LDCACHE_OP_COMPAREdery""u"659ass="10"6omment">93588/ss="srivo8"5he_>"5928he.c#8616" " c8ass="892L316ct (st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect 93588/>);p"59a8he.c#8763" idv8L363"89lass=idv2L322" classie=dentryRRRRRRRRedntinue"66ne" na10"6le syste9d4/8/++;p"5sa8he.il;""u"659ass="10"6omment">93588/e3{v"59a9he.c#9915" " <8 hr=h89);p"5969he.c#9261" " c8ass="89"""4" class="line" ERRRRRRRRRRRRRRRRRR_CASTtryy_lru_move_lE4/a>(struct );p"59a9he.c#9175" idv8L365g8 o ass=" claine37"out_________et4/cryy_lru_move_lED_COMP_NOMATCHect 3333b1R12RRRRRRRRRRRRRRRRedntinue"66ne" na10"6le syste9d4/8/f">d_inod8"5ref>"5999he.c#9261" idv8L361"89lass="ine37"dpu o_subess="srddefault16 8ne" n10"6lock hel93329/a>)v)v"59a9he.c#9961" idv9L361"9011111idv2L361"f="+coiiiiiiiii"612ass=L10"62ref">d_94/a9/2>)v"5928he.c#8616" " c9L312g902L316ct d_94/a9/3>)v"59a8he.c#8763" idv912" i90lass=587ass="10"5 v2L356"9.4/9/a>;p(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashr_lenuct#9409" idv2Lee=d_lend_fi !" cnexpmove_livodee=dlenuct#9409" idv2Lee=dlenderyr587ass="10"5 v2L356"9.4/9/5>;p"59a9he.c#9915" " <9 hr=h90);p(st,_ct "59a9he.c#9175" idv9ass="90o ass=" claine37"out_________R_CASTtryy_lru_move_lE4/a>(struct d_94/a9/9);p"5999he.c#9261" idv9L348"9class="ine37"dR_CASTtryy_lru_move_lE_ totruct )v"6110"sr>10"s6" idv9L316g91d_94/a9oa>{v"61a9he.c#9261" >10912" i911L361669ass="10"6omment">9="s9/2>)v"61a8he.ct 323"68lass=L10"6UG_ON4/a9ck49/a>;p"6139he.c#9261" i969/a>3391lass=*=s o_d"*m v2L308">330844hrst4/ae7dstearchf3"5 a,line" 5">323"68lass=L10"6UG_ON4/a9ck49/a>;p"6149he.c#9261" idv9L361"91lass="r b96s=7needed7inp feulo paroin:eparoin>line" ;);p"61a9he.c#9915" " <9 hr=h91lass="(via knfsd) so  l54ewu*L/948": anon to chilrsnodishuorls="l;);p"61a9he.c#9916" " <9 hr=h91dv2L*eft"oyedalled _prior_ to=R_CASTs: dointh, "5 _ to unhas"6 8ne" n10"6lock hel94/a9a>);p"6179he.c#9261" idv9L361"91lass="@svode:*e feusnode*whic unhas"6 8ne" n10"6lock hel94/a9a8);p"6189he.c#9261" idv9L361"91lass= @dst4/a:"a negativto_st4hrst4/ae7tearchesw _prihctoren4nfULLneparoin>line"  3"5 LLnechilr 4ngnhas"6 9ass="10"6omment">9UNE9/9);p"6199he.c#9261" idv9L361"91lass*  de feudst4/a3 "Indcase quesERRuoepamLLnce8e ex33i4e"sd""rtserd""leacedc"sdllis0 4cen- ipus,ayddLLnngnhas"6 9ass="10"6omment">9UNE94/a>v"62v8he.c#8616" " c9ass="92lass="If"snode*"sda7directo/aee8e ex33i4nonymous. ok aode,ur mustu"a &+pulled freefLLnc8e ex3when4it haoa>4spa"669ass="10"6omment">9="s9/a>)v"62a9he.c#9261" idv9L361"92lass= deadd_ci -ulookup or al=s="i=dpea"a d_ait.eOTe7;_ to33i4nonymousiry_LLnce8e ex3doeoutotr v2L2o unhas"6 9ass="10"6omment">9UNE9/2>)v"62a9he.c#9122" idv9L322"92lass="with*a %NULL"@svode/a>4spa"669ass="10"6omment">9="s9a>);p"6239he.c#9261" idv9L361"92lass=" dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct dentry_lru_move_list(strct "65lass="10"6sref">de93559/a>;p"62a8he.il;93589/>);p"62a9he.c#9915" """9""4" 92dentry_lru_move_list4/a>(struct (struct );pnr>"6269he.UGrrierhef=9+code92lass=t;);p"62a9he.cass=" clai9e37"o92lass=587ass="10"5 v2L356"9.4/9/8);p"6289he.c#9915" " c9ass="92laine37"ivodedou"659ass="10"6omment">93589pa="v"62a9he.c#9949" idv9L348i922L365ct "63v8he.c#8616" " c9ass="93o ass=" claine37"out_y_lru_move_list4/a>(struct ""66ne" na10"6le syste9d4/9pa>)v"63a9he.c#9961" """9""4" 9311111idv2L361"f="+coiry" cnexpmove_livod4/a>(st,_ct de93559/a>)v"63a9he.>10"12" idv9L355"932L316ct );p"63a8he." class="li9e" EX93lass=idv2L322}io4 leutreemove_lresef"cra316eqR_Pry"cruct ;p"63a8he.il;(struct );p"6310"s4>10"45" idv9L245"93d_94/a9a>);p"6396">32964/a>333391R12393"""4"ryy_lru_move_lERe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">329st4/aeect );p"63a9he.c#9207" idv9L307"93lass=587ass="10"5 v2L356"9.4/9333}p"63a9he.c#9408" idv9L308"93lass= @dst4/a:"a negativto_L235">323"68lass=L10"6UG_ON4/a9ck49/a>}p"63a9he.c#9409" idv9L209"93lass*  de feudst4/a3 "Indcase a hrst4/ae7dstearchf3"5 a,line" s(racy)5">323"68lass=L10"6UG_ON4/a9ck494/a>v"64r9he.c#9208" idv9L308"9class="If"snode*"sda7directo/lo paroin:eparoin>line" ;"64a8he.c#8611" idv9L211"9class= DCACHE_DISCONNECTED),e*L/948": anon to chilrsnodishuorls="l;"64a8he.c#8642" idv9L342"9class="e pa""""""4it,6else sio=R_CASTs: dointh, "5 _ to unhas"6 8ne" n10"6lock hel94/a9pa="v"64a8he.c#8543" idv9L343"94lass=3st"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.4/9pa>;p"64a9he.c#9044" idv9L344"94lass="r b96s=7needed7inp feuloa hrst4/ae7is4sikeohrst4/ae, howevur illdst4(rarels)2R_CASTta unhas"6 ine" n10"6sref">in9.4/9p>);p"6410"s4>10"45" idv9L245"94lass="(via knfsd) so  l54ewu*wfalse-*wanthio4nosult dueuorlunR_lapus,rechilracthiitho unhas"6 9ass="10"6omment">9UNE9/a>)v"6496">32964/a>333391R1239idv2L*eft"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.4/9p>);p"64a9he.c#9207" idv9L307"9class="If"27dst4/aewac"found"loa hrst4/ae7is4slightlywfasterhbylivoidled rechilcode=ecra3edeqode=35">323"58class=10"5he_lru_l93339/33}p"6 a9he.c#9408" idv9L308"9class= rsd""""""ed.  r b96mat* howevur illdustune"utrorcarofue, , eg.w""16=aefollow d_a+cod4/ae7i4ngnhas"6 9ass="10"6omment">9UNE9/a>)v"6 a9he.c#9409" idv9L209"9class=eft"oyedalled _prior_ t*=te aet4/ce ofailureo unhas"6 9ass="10"6omment">9UNE9a>);p"65r9he.c#9208" idv9L308"95lass="If"snode*"sda7directo/o unhas"6 ine" n10"6sref">in9.4/94/a>p"65a8he.c#v2L316"st9 clas95lass= DCACHE_DISCONNECTED),e*La hrst4/ae7ode,ursldustune"NNECTEDedo unhas"58ne" na10"5try_unus928294a="v"6528he.t 4spa"669ass="10"6omment">9="s94a="v"65a8he.c#8763" idv9L316"95lass=" dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct dentry_lru_move_list(strct "65lass="10"6sref">de93559aa>;p"65a8he.il;93589aa="v"65a9he.c#9915" " c9ass="9claine37"IS_ERunsign of 4" cnexpmove_livodlenuct#9409" idv2Llend_find_aliaclasubdir sc"cruct#9409" idv2Lidving">ry" class="sref">denlenuct#9409" idv2Llend_fi"587ass="10"5 v2L356"9.4/9aa>)v"65a9he.c#9916" idv9L316"95lass=t;ry" class="sref">denee=def=ect );p"6578he.gt;ry" class="sref">denc"cruct#9409" idv2Lidving">"587ass="10"5 v2L356"9.4/9433}p"6589he.c#9915" " c9ass="95"+cohN3333ble">dentry_lru_move_listhlist_bl_in_luct#9409" idv2Lelist_bl_in_ldery" cnexpmove_livodbuct#9409" idv2Lbderynd_aliaclasubdir sd_ashref=ect )v"65a9he.c#9949" idv9L348i9v2L361"f="+cos=dentryy_lru_move_listelist_bl_ef"c,1idv2L316"st" elist_bl_ef"cidvinlru_move_lnewef"cf"c,1idv2L316"st" e=ivoder"587ass="10"5 v2L356"9.4/9a>);p"6610"sr>10"s6" idv9L316c960L361"f="+cos=dentryy_lru_move_list4/a>(struct p"66a9he.c#9961" idv9L361"96a hr=h+code=r">dentry_lru_move_list4/a>(struct (struct );p"66a9he.c#9812" idv9L312i96_loc"61ne" na10"63ref">d_9ck49aa="v"66a8he.c#8763" idv9L363"96lass=idv2L322*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="s9>++;p"66a8he.c#8914" idv9L314"96lass="r b96s=7needed7inp feu////////**Note:hok r/crousignificain>lu"st"e=RRu ""16 a hrst4/ae_rcu7whichcroa>4spa"669ass="10"6omment">9="s9se3{v"66a9he.c#9915" idv9L315"96lass="(via knfsd) so  l54ewu////////**requirneuorlprevoin>sledleoLLR_a+neuperformaacedregtessRRuoa>4spa"669ass="10"6omment">9="s9a>);p"66a9he.c#9916" idv9L316"96dv2L*edeiplice3aliac - iplic////////**especide, 4nefarchitecnymeslwhereosme_rmb (esr6eqc"sdls) aro costlho unhas"6 9ass="10"6omment">9UNE9333}p"66a9he.c#9175" idv9L365}96lass="If"27dst4/aewac"found"////////**Keeew _prtwowfuncERRu3f 40synco unhas"6 9ass="10"6omment">9UNE9333}p"66a9he.c#9148" idv9L348"96lass= rsd""""""ed.  r b96mat////////*/a>4spa"669ass="10"6omment">9="s9ef">d_inod9"6omm>"66a9he.c#9949" idv9L348i9v2L365669ass="10"6omment">9="s9a= class="9"6las>"6710"sr>10"s6" idv9L316"970ass=idv2L322*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="s9href="+cod9"6UG_>"67a9he.c#9961" idv9L361197lass= deadd_ci -ulookup or a////////* ok aee=d&listcrouprotecnus, sled RCUo unhas"6 9ass="10"6omment">9UNE9h>);p"67a9he.c#9812" idv9L312i97lass="with*a %NULL"@svod////////da>4spa"669ass="10"6omment">9="s9ha="v"67a8he.c#8763" idv9L363>97lass=*=s o_d"*m v2L308">3308////////* oakeohrstcktwhen4nd7parled _reiadide=drline" euorlivoid*race3a>4spa"669ass="10"6omment">9="s9h++;p"67a8he.c#8914" }6e9seil;97lass="r b96s=7needed7inp feu////////*f""16=srnewn(to unhas"58ne" na10"5try_unus92829ae3{v"67a9he.c#9915" idv9L315c97lass="(via knfsd) so  l54ewu////////da>4spa"669ass="10"6omment">9="s9h>);p"67a9he.c#9916" """9""4" 97dv2L*edeiplice3aliac - iplic////////* ItcroupossRbleoLLat2c="curroin>rechilp can messfaewgur&list unhas"58ne" na10"5try_unus92829h33}p"67a9he.>10"12" idv9L355"97lass="If"27dst4/aewac"found"////////* walo hereolydd_asultf 40missled gur&line" eunosult d_a 40y f unhas"58ne" na10"5try_unus92829h33}p"67a9he.c class="li9e" EX97lass= rsd""""""ed.  r b96mat////////* false-*wanthio4nosult. hrst4/ae()uprotecnsiagaess= c="curroin unhas"58ne" na10"5try_unus92829hf">d_inod9"6omm>"67a9he.ct  .>"68r9he.c#9208" idv9L308"9class="line" s="line" nam v2t////////da>4spa"669ass="10"6omment">9="s9sref="+cod9"6UG_>"68a8he.c#8611" idv9L211"9class= deadd_ci -ulookup or a////////* SeeLDocu8">3aERRu/tableline"s/ecti-ior_ totxt 3"5 mor  detailso unhas"6 9ass="10"6omment">9UNE9ess="srivo9ery" cnexpmove_livodeef"c9idv2L9class="with*a %NULL"@svod////////*/a>4spa"669ass="10"6omment">9="s9e>);p"58a8he.c#8543" idv9L343"98lass=idv2L322*nexpmove_livodrcu_R_a+code=ect "58a8he.c#v2L316"st9 clas98lass=idv2L32266ne" na10"6le syste9d4/9ee3{v"58a9he.t (st,_ct 93589ea>)v"58a9he.c#9916" sta9ic /o98"""4"659ass="10"6omment">93589e33}p"5878he.c#8763" idv9L316"98o ass=" claine37"out_ry" cnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect 93589e33}p"59a9he.c#9915" "9L316"98lass=t964/a>3333b1R12RRRRRRRRedntinue"66ne" na10"6le syste9d4/9ef">d_inod9"5sre>"58a9he.ct 9="s9/a>)v"59v8he.c#8616" " c9"""""99o ass=" claine37"out_y_lru_move_listspincode=ect (st,_ct d_flode=ect "59a9he.c#9961" idv9L361"9911111idv2L361"f="+coiry_lru_move_lnewef"4/a>(st,_ct d_flparoinect de93559/ss="srivo9"5he_>"5928he.c#8616" " c9ass="992L316ct );p"59a8he.c#8763" idv9L363"99lass=idv2L322" classiry" cnexpmove_livod4_unee=dpeect de93559/++;p"5sa8he.il;"59a9he.c#9915" " <9 hr=h99)v"5969he.c#9261" " c9ass="99"""4" class="line" ER*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="s9a>);p"59a9he.c#9175" idv9L365g99lass="If"27dst4/aewac"found"////////////////* Itcrousafeuorlnd7paro chilp slece=srnewn(t cannon unhas"58ne" na10"5try_unus92829alsepd_inod9"5ref>"5999he.c#9261" idv9L361"99lass=eft"oyedalled _prior_ t////////////////*/a>4spa"669ass="10"6omment">9="20/a>)v)f>"5999he.c#9261" id20/a>>20/aass=idv2L322" classiry" cnexpmove_livodparoinect d_flflag3aliacref=eidv2L31flag31111iery" tryy_lru_move_lEDCACHE_OP_COMPAREaliacref=eidv2LDCACHE_OP_COMPAREdery"u"65/pre>>69ass="10"6omment">9="20/1>)v"59a9he.c#9961" id20/5U>20/11111idv2L361"f="+coiiiiiiiii 4" cnexpmove_livodtlenuct#9409" idv2Ltlend_find_aliaclasubdir sd/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fi"587ass="10"5 v2L356"9.420/2>)v"5928he.c#8616" " 20/5h>20/2L316ct (st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">"587ass="10"5 v2L356"9.420/3>)v"59a8he.c#8763" id20/5t>20/lass=idv2L322" classie=dentryry" cnexpmove_livodparoinect d_floeect d_flnd7paroect d_fleef"c, 1chil;)v"5sa8he.il;20/lass=idv2L322" classiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiy_lru_move_list4/a>(st,_ct (st,_ct d_fleef"c, 1chil;)v"59a9he.c#9915" " 20/53>20/""587ass="10"5 v2L356"9.420/6>)v"5969he.c#9261" " 20/5s>20/"""4" class="line" ERRRRRRRRRRRRRRRRRipu o_subtreemove_lonexnect )v"59a9he.c#9175" id20/53>20/o ass=" claine37"out_} elseu"659ass="10"6omment">93520/8>)v20/lass=t964/a>3333b1R12RRRRRRRRry" cnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fin!" cnexpmove_livodlenuct#9409" idv2Llend_fi"587ass="10"5 v2L356"9.420/9>)v"5999he.c#9261" id20/5r>20/lass="ine37"dpu o_subess="srdRRRRRRRRipu o_subtreemove_lonexnect )v"6110"sr>10"s6" id20"6s>20"6ass=t964/a>3333b1R12RRRRRRRRry" cnexpmove_livod4/a>(s_cmpect (st,_ct )v"61a9he.c#9261" >120"6v>20"11111idv2L361"f="+coiiiiiiiiiRRRRRRRRipu o_subtreemove_lonexnect )v"61a8he.ct 20"2L316ct d_94/20"3>)v"6139he.c#9261" i920"63>20"lass=587ass="10"5 v2L356"9.420"4>)v"6149he.c#9261" id20"6s>20"lass=idv2L322" classi ce4/amove_lIS_4/a>(st,_ct d_flc"sdlect )v"61a9he.c#9915" " 20"6v>20"(struct )v"61a9he.c#9916" " 20"6 >20""""4" class="line" ER*_lru_move_listspincunode=ect (st,_ct d_flode=ect )v"6179he.c#9261" id20"6o>20"o ass=" claine37"out_brrak"66ne" na10"6le syste9d420"8>)v"6189he.c#9261" id20"6l>20"RT_SYMBOtry" ce4/amonexnect )v"6199he.c#9261" id20"69>20"2L365ct (st,_ct d_flode=ect )v"62v8he.c#8616" " 20"6 >20"6L365ct d_94/2021>)v"62a9he.c#9261" id20"6s>20"11111idv2L361*nexpmove_livodrcu_R_a+cunode=ect )v"62a9he.c#9122" id20"62>20"_loc"61ne" na10"63ref">d_9ck20"3>)v"6239he.c#9261" id20"63>20"lass=idv2L322R_CASTtryy_lru_move_lEe"sd"truct )v"62a8he.il;20"lass="612ass=L10"62ref">d_94/2025>)v"62a9he.c#9915" ""20"6v>20")vnr>"6269he.UGrrierhef20"6>>20"dv2L*edeiplice3aliac - ipliL235">323"68lass=L10"6UG_ON4/a9ck20"7>)v"62a9he.cass=" cla20"6o>20"lass="If"27dst4/aewac"found"lo="ee=d_anhrst4/ae7dsee=d& _pranon then4tearchf3"5 a,line" 5">323"68lass=L10"6UG_ON4/a9ck20"8>)v"6289he.c#9915" " 20"6l>20"lass= rsd""""""ed.  r b96mat* @dir: Directoryled searchfi4ngnhas"6 9ass="10"6omment">9UN20"9>)v"62a9he.c#9949" id20"69>20"lass=eft"oyedalled _prior_ t*=/948": anon to chilrsnodishuorls="l;)v"63v8he.c#8616" " 20"6m>20"6ass=eft"oyedalled _prior_ t*;)v"63a9he.c#9961" ""20"6s>20"lass= DCACHE_DISCONNECTED),e*LOnsee=d&failure "5 on st4/aewfailure _ to33i4nonymouso unhas"58ne" na10"5try_unus92820"2>)v"63a9he.>10"12" id20"6s>20"lass="with*a %NULL"@svode/a>4spa"669ass="10"6omment">9="20"3>)v"63a8he." class="l20"62>20"lass=" dentry_lru_move_list4/a>(struct (struct dentry_lru_move_list(strct "65lass="10"6sref">de93520"4>)v"63a8he.il;20"lass="659ass="10"6omment">93520"5>)v"6310"s4>10"45" id20"6v>20"dentry_lru_move_list4/a>(struct (struct )v"6396">32964/a>33320"6r>20""""4"659ass="10"6omment">93520"7>)v"63a9he.c#9207" id20"6h>20"o ass=" clain*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="20"8>)v"63a9he.c#9408" id20"6l>20"lass= rsd""""""ed.  r b96mat////////* Ct"ck"3"5 a,fs-specificsee=d&funcERRu.*NoteoLLat2snodusta>4spa"669ass="10"6omment">9="20"9>)v"63a9he.c#9409" id20"6o>20"lass=eft"oyedalled _prior_ t////////* calculapuULLnestanhardsee=d&first, asw _prreopagcla="ee=d()5">323"68lass=L10"6UG_ON4/a9ck204a>)v"64r9he.c#9208" id20"6 >20"6ass=eft"oyedalled _prior_ t////////* route.cldst4chooseuorlleavuULLneee=d&value unchang so unhas"58ne" na10"5try_unus9282041>)v"64a8he.c#8611" id20"6s>20"lass= deadd_ci -ulookup or a////////*/a>4spa"669ass="10"6omment">9="2042>)v"64a8he.c#8642" id20"6 >20"21111idv2L361*nexpmove_livodc"cruct#9409" idv2Lidving">ry" class="sref">denee=def=ect ry" class="sref">denc"cruct#9409" idv2Lidving">e cnexpmove_livodc"cruct#9409" idv2Lidving">ry" class="sref">denlenuct#9409" idv2Llend_fir"66ne" na10"6le syste9d42043>)v"64a8he.c#8543" id20"6l>20"lass=idv2L322ry" cnexpmove_livod4irct d_flflag3aliacref=eidv2L31flag31111iery" tryy_lru_move_lEDCACHE_OP_HASHect )v"64a9he.c#9044" id20"6s>20"lass=idv2L322" classiry" cnexpmove_livod4irct d_floeect d_flashref=ect d_fleef"c, 1chil;" < 0"65lass="10"6sref">de9352045>)v"6410"s4>10"45" id20"6v>20")v"6496">32964/a>33320"6r>20""""4" class=""612ass=L10"62ref">d_94/2047>)v"64a9he.c#9207" id20"6h>20"71111idv2L361*nexpmove_livod4/a>(struct ""587ass="10"5 v2L356"9.42048>)v"6 a9he.c#9408" id20"6l>20"RT_SYMBOtry" ce4/amooutuct#9409" idv2Lout ury16 8ne" n10"6lock hel9332049>)v"6 a9he.c#9409" id20"6o>20"lass="ine37"dR_CASTtryy_lru_move_lE4/a>(struct )v"65r9he.c#9208" id20"6r>20"6ass="612ass=L10"62ref">d_94/2051>)v"65a8he.c#v2L316"s20"6 >20"1L361669ass="10"6omment">9="20"2>)v"6528he.t 20"lass="with*a %NULL"@svoL235">323"68lass=L10"6UG_ON4/a9ck20"3>)v"65a8he.c#8763" id20"6l>20"lass=*=s o_d"*m v2L308">330844hrvalide=dr- verify,line" sprovi+neufrom insecure source (deprecapus)5">323"68lass=L10"6UG_ON4/a9ck2054>)v"65a8he.il;20"lass="r b96s=7needed7inp feulo line" : ok adointhide,ugneuorlbe validrihcto to @dparoinde>323"68lass=L10"6UG_ON4/a9ck2055>)v"65a9he.c#9915" " 20"6v>20"lass="(via knfsd) so  l54ewu*L/dparoin:eTLneparoin>line"  (knownuorlbe valid)5">323"68lass=L10"6UG_ON4/a9ck2056>)v"65a9he.c#9916" id20"6s>20"dv2L*eft"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.420"7>)v"6578he.gt;20"lass="If"27dst4/aewac"found"loAn insecure source ee= soin>us a,line" , hereosnoverify,in>lydddget()ait. unhas"6 ine" n10"6sref">in9.420"8>)v"6589he.c#9915" " 20"6l>20"lass= rsd""""""ed.  r b96mat* This0 s"utrorby ncpf3f 40rtserdad4ir imple8">3aERRu. unhas"6 ine" n10"6sref">in9.420"9>)v"65a9he.c#9949" id20"6o>20"lass=eft"oyedalled _prior_ t*=Zero33i4nonymousirnmLLnce8e ex33i4invalid. unhas"6 ine" n10"6sref">in9.4206a>)v"6610"sr>10"s6" id20"6h>20"6v2L*eft"oyedalled _prior_ to unhas"6 ine" n10"6sref">in9.42061>)v"66a9he.c#9961" id20"6 >20"lass= DCACHE_DISCONNECTED),e*LThis0funcERRu7is4slow"3"5 big directorilp,wlydddeprecapus,edoutotr"a &it. unhas"6 ine" n10"6sref">in9.42062>)v"66a9he.c#9812" id20"6h>20"lass="with*a %NULL"@svode/a>4spa"669ass="10"6omment">9="2063>)v"66a8he.c#8763" id20"6l>20"lass= 4" cnexpmove_livodhrvalide=dect (struct (st,_ct (struct de93520"4>)v"66a8he.c#8914" id20"6s>20"lass="659ass="10"6omment">9352065>)v"66a9he.c#9915" id20"6v>20"dentry_lru_move_list4/a>(struct )v"66a9he.c#9916" id20"6s>20""""4"659ass="10"6omment">9352067>)v"66a9he.c#9175" id20"6 >20"71111idv2L361*nexpmove_livodspincode=ect d_flode=ect )v"66a9he.c#9148" id20"6l>20"81111idv2L361*nexpmove_livodlist_3"5_eent_t"oyeuct#9409" idv2Llist_3"5_eent_t"oye"srivy_lru_move_listihctotruct d_flsubdir3aliacref=eidv2L31subdir3idvi" cnexpmove_livod4_utruct d_d_ihctotruct )v"66a9he.c#9949" id20"6o>20"2L365ct (st,_ct )v"6710"sr>10"s6" id20"6l>20"6a hress="srd_addry" RRRRRRRR*nexpmove_livodspincode=_nestpeect (st,_ct d_flode=ect )v"67a9he.c#9961" id20"6U>20"11111idv2L361"f="+coiiiiiiiiicnexpmove_livod__dget_dode=ect (st,_ct )v"67a9he.c#9812" id20"6h>20"2L316ct (st,_ct d_flode=ect )v"67a8he.c#8763" id20"6t>20"lass=idv2L322" classie=dentry*ce4/amove_lIS_6pincunode=ect d_flode=ect )v"67a8he.c#8914" }620"6h>20"lass=idv2L322" classiiiiiiiiiR_CASTt1"66ne" na10"6le syste9d42075>)v"67a9he.c#9915" id20"6v>20"d_94/2076>)v"67a9he.c#9916" ""20"6s>20""""4" class=""612ass=L10"62ref">d_94/2077>)v"67a9he.>10"12" id20"6 >20"71111idv2L361*nexpmove_livodspincunode=ect d_flode=ect )v"67a9he.c class="l20"6l>20"8""4"659ass="10"6omment">9352079>)v"67a9he.ct 20"lass="ine37"dR_CASTt0"66ne" na10"6le syste9d4208a>)v .>"68r9he.c#9208" id20"6>>20"6ass="612ass=L10"62ref">d_94/2081>)v"68a8he.c#8611" id20"6U>20"1T_SYMBOtry" ce4/amoRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">329valide=dect )v20"_loc"61ne" na10"63ref">d_9ck2083>)v"58a8he.c#8543" id20"5t>20"lass=*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="2084>)v"58a8he.c#v2L316"s20"5h>20"lass="r b96s=7needed7inp feuloWhen4a tabl7is4delepus,ewe eevprtwowopERRu3:a>4spa"669ass="10"6omment">9="2085>)v"58a9he.t 20"lass="(via knfsd) so  l54ewu*L- CASTtthis4dee ex33norli *wanthio4line" 5">323"68lass=L10"6UG_ON4/a9ck2086>)v"58a9he.c#9916" st20"5s>20"dv2L*eft"oyedalled _prior_ to=- unee=dtthis4dee ex3lyddfreefit. unhas"6 ine" n10"6sref">in9.42087>)v"5878he.c#8763" id20"5 >20"lass="@svode:*e feusnode*whic unhas"6 8ne" n10"6lock hel94/20"8>)v"59a9he.c#9915" 20re">20"lass= rsd""""""ed.  r b96mat* Usuae, , snodain>orljustuCASTtthis43nor unhas"6 8ne" n10"6lock hel94/20"9>)v"58a9he.ct 20"lass=eft"oyedalled _prior_ t*=i *wanthio4line" , but_ry"anybody elseuroa>4spa"669ass="10"6omment">9="209a>)v"59v8he.c#8616" " 20"5s>20"5ass=eft"oyedalled _prior_ t*=curroinly  sled LLnce8e ex3"5 LLneeef"cde4spa"669ass="10"6omment">9="2091>)v"59a9he.c#9961" id20"5U>20"lass= DCACHE_DISCONNECTED),e*Lw aetn'tedouLLat2lyddw afae, back on removledde4spa"669ass="10"6omment">9="2092>)v"5928he.c#8616" " 20"5h>20"lass="e pa""""""4it,6else sio=itufrom LLneee=d&queues2lyddwait d_a3"5de4spa"669ass="10"6omment">9="2093>)v"59a8he.c#8763" id20"5t>20"lass=*=s o_d"*m v2L308">330844ituorlbe delepus lapur3when4it hao nor"a roa>4spa"669ass="10"6omment">9="2094>)v"5sa8he.il;20"lass="r b96s=7needed7inp feul/a>4spa"669ass="10"6omment">9="2095>)v"59a9he.c#9915" " 20"53>20"9="2096>)v"5969he.c#9261" " 20"5s>20"dv2L*edeiplice3aliac - ipliL235">323"68lass=L10"6UG_ON4/a9ck2097>)v"59a9he.c#9175" id20"53>20"lass="If"27dst4/aewac"found"lo="delepu=- delepu=a,line" 5">323"68lass=L10"6UG_ON4/a9ck2098>)v20"lass= rsd""""""ed.  r b96mat* @dine" : ok adointhiorldelepu5">323"68lass=L10"6UG_ON4/a9ck2099>)v"5999he.c#9261" id20"5r>20"lass=eft"oyedalled _prior_ t*5">323"68lass=L10"6UG_ON4/a9ck21/a>)v)f>"5999he.c#9261" id21/a>>2105ass=eft"oyedalled _prior_ t*=TASTtthe4dee ex33norli *wanthio4line" _ry"possRble, otherwisu5">323"68lass=L10"6UG_ON4/a9ck21/1>)v"59a9he.c#9961" id21/5U>210lass= DCACHE_DISCONNECTED),e*Lremove=itufrom LLneee=d&queues2so=itucan be delepus lapur5">323"68lass=L10"6UG_ON4/a9ck21/2>)v"5928he.c#8616" " 21/5h>210lass="with*a %NULL"@svode/a>4spa"669ass="10"6omment">9="21/3>)v"59a8he.c#8763" id21/5t>21/lass=i669ass="10"6omment">9="21/4>)v"5sa8he.il;21/lass=void*aliac>33L296">329delepuect (struct de93521/5>)v"59a9he.c#9915" " 21/53>21/)v"5969he.c#9261" " 21/5s>21/"""4" class="" dentry_lru_move_listeef"c, 1chil;)v"59a9he.c#9175" id21/53>21/o ass=" clain 4" cnexpmove_livodis4irct )v21/lass=t964/a>3*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="21/9>)v"5999he.c#9261" id21/5r>210lass=eft"oyedalled _prior_ t////////* AreosnoLLneonly  ser?a>4spa"669ass="10"6omment">9="211a>)v"6110"sr>10"s6" id21"6s>2116ass=eft"oyedalled _prior_ t////////*/a>4spa"669ass="10"6omment">9="2111>)v"61a9he.c#9261" >121"6v>2111T_SYMBOtry" ce4/amoagaesct )v"61a8he.ct 21121111idv2L361*nexpmove_livodspincode=ect (st,_ct d_flode=ect )v"6139he.c#9261" i921"63>211lass=idv2L322*nexpmove_livodeef"c, 1chil;(st,_ct d_fleef"c, 1chil;)v"6149he.c#9261" id21"6s>21"lass=idv2L322cnexpmove_livodis4irct 33L296">3eef"c, 1chil;d_i_mf"c, 1chil;)v"61a9he.c#9915" " 21"6v>21"(st,_ct d_flc"sdlect )v"61a9he.c#9916" " 21"6 >21""""4" class="line" ERry" cnexpmove_livodeef"c, 1chil;d_i_ode=ect )v"6179he.c#9261" id21"6o>21"o ass=" claine37"out_idv2L361*nexpmove_livodspincunode=ect (st,_ct d_flode=ect )v"6189he.c#9261" id21"6l>211lass=t964/a>3333b1R12RRRRRRRRaliaclasubdir sipu_R_laxtruct )v"6199he.c#9261" id21"69>21"2L365ct )v"62v8he.c#8616" " 21"6 >2126a hress="srd_addry" "612ass=L10"62ref">d_94/2121>)v"62a9he.c#9261" id21"6s>21211111idv2L361"f="+coicnexpmove_livod4/a>(st,_ct d_flflag3aliacref=eidv2L31flag31111iery" = ~cnexpmove_livodDCACHE_CANT_MOUNTect )v"62a9he.c#9122" id21"62>2122L316ct (scunoinkleef"c"srivy_lru_move_list4/a>(st,_ct )v"6239he.c#9261" id21"63>212lass=idv2L322" classiy_lru_move_listfsnotifylc"crremovet,_ct (st,_ct )v"62a8he.il;212lass=idv2L322" classiR_CAST"66ne" na10"6le syste9d421"5>)v"62a9he.c#9915" ""21"6v>212d_94/2126>)vnr>"6269he.UGrrierhef21"6>>212"""4"659ass="10"6omment">93521"7>)v"62a9he.cass=" cla21"6o>2127a hress="srdry" !*nexpmove_livod4_unee=dpeect de9352128>)v"6289he.c#9915" " 21"6l>212lass=t964/a>3333b1R12cnexpmove_livod__d_droeect (st,_ct )v"62a9he.c#9949" id21"69>2122L365669ass="10"6omment">9="213a>)v"63v8he.c#8616" " 21"6m>2130ass=idv2L322*nexpmove_livodspincunode=ect (st,_ct d_flode=ect )v"63a9he.c#9961" ""21"6s>2131L361669ass="10"6omment">9="21"2>)v"63a9he.>10"12" id21"6s>21321111idv2L361*nexpmove_livodfsnotifylc"crremovet,_ct (st,_ct )v"63a8he." class="l21"62>21"lass="612ass=L10"62ref">d_94/21"4>)v"63a8he.il;21"lass=MBOtry" ce4/amoRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">329delepuect )v"6310"s4>10"45" id21"6v>213)v"6396">32964/a>33321"6r>21""""4"s3aERc void*aliac>33L296">3__d_reashref=ect (struct de93521"7>)v"63a9he.c#9207" id21"6h>21"o ass"65ne" na10"6le syste9d421"8>)v"63a9he.c#9408" id21"6l>21381111idv2L361*nexpmove_livodBUG_ONuct#9409" idv2LBUG_ON5"try!*nexpmove_livod4_unee=dpeect )v"63a9he.c#9409" id21"6o>21391111idv2L361*nexpmove_livodelist_bl_ode=ect )v"64r9he.c#9208" id21"6 >2140ass=idv2L322*nexpmove_livod/a>(struct d_flflag3aliacref=eidv2L31flag31111i|d_cnexpmove_livodDCACHE_RCUACCESSect )v"64a8he.c#8611" id21"6s>21411111idv2L361*nexpmove_livodelist_bl_add_in_l_rcutruct (struct d_flashref=ect )v"64a8he.c#8642" id21"6 >21"21111idv2L361*nexpmove_livodelist_bl_unode=ect )v"64a8he.c#8543" id21"6l>214lass="612ass=L10"62ref">d_94/2144>)v"64a9he.c#9044" id21"6s>21"lass=612ass=L10"62ref">d_94/2145>)v"6410"s4>10"45" id21"6v>21"33L296">3_d_reashref=ect (struct de9352146>)v"6496">32964/a>33321"6r>21""""4""65ne" na10"6le syste9d42147>)v"64a9he.c#9207" id21"6h>21"71111idv2L361*nexpmove_livod__d_reashref=ect (struct d_flashref=ect d_flparoinect d_/a>(struct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect )v"6 a9he.c#9408" id21"6l>21"RT_SY"612ass=L10"62ref">d_94/2149>)v"6 a9he.c#9409" id21"6o>2142L365669ass="10"6omment">9="215a>)v"65r9he.c#9208" id21"6r>2156ass=eft"oyedalled _prior_ L235">323"68lass=L10"6UG_ON4/a9ck2151>)v"65a8he.c#v2L316"s21"6 >215lass= DCACHE_DISCONNECTED),e*Ld_reashr2L361- add ACHine" _back to LLneee=d5">323"68lass=L10"6UG_ON4/a9ck2152>)v"6528he.t 21"lass="with*a %NULL"@svot* @ine" : dointhiorladd to LLneee=d5">323"68lass=L10"6UG_ON4/a9ck2153>)v"65a8he.c#8763" id21"6l>21"lass=*=s o_d"*m v2L308">330845">323"68lass=L10"6UG_ON4/a9ck2154>)v"65a8he.il;21"lass="r b96s=7needed7inp feuloAdds a,line"  to LLneee=d accordled Lo0rtsein9.42155>)v"65a9he.c#9915" " 21"6v>21"lass="(via knfsd) so  l54ewu*/a>4spa"669ass="10"6omment">9="2156>)v"65a9he.c#9916" id21"6s>21"dv2L*i669ass="10"6omment">9="21"7>)v"6578he.gt;21"lass=void*aliac>33L296">329reashref=ect (struct de93521"8>)v"6589he.c#9915" " 21"6l>21"lass="65ne" na10"6le syste9d421"9>)v"65a9he.c#9949" id21"6o>21591111idv2L361*nexpmove_livodspincode=ect (struct d_flode=ect )v"6610"sr>10"s6" id21"6h>2160ass=idv2L322*nexpmove_livod_d_reashref=ect (struct )v"66a9he.c#9961" id21"6 >21611111idv2L361*nexpmove_livodspincunode=ect (struct d_flode=ect )v"66a9he.c#9812" id21"6h>21"lass="612ass=L10"62ref">d_94/2163>)v"66a8he.c#8763" id21"6l>21"lass=MBOtry" ce4/amoRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">329reashref=ect )v"66a8he.c#8914" id21"6s>216lass=612ass=L10"62ref">d_94/2165>)v"66a9he.c#9915" id21"6v>216lass="(via knfsd) so  l54ewL235">323"68lass=L10"6UG_ON4/a9ck2166>)v"66a9he.c#9916" id21"6s>216dv2L*edeiplice3aliac - iplic* f/a>(scupde=dlc"cr_casu=- upde=d casu=insensithio4line" _""16=i *ww c"crde>323"68lass=L10"6UG_ON4/a9ck2167>)v"66a9he.c#9175" id21"6 >216lass="If"27dst4/aewac"found"* @dine" : line"  to be upde=dl;)v"66a9he.c#9148" id21"6l>216lass= rsd""""""ed.  r b96mat*=/948": *ww c"crde>323"68lass=L10"6UG_ON4/a9ck2169>)v"66a9he.c#9949" id21"6o>216lass=eft"oyedalled _prior_ t*5">323"68lass=L10"6UG_ON4/a9ck217a>)v"6710"sr>10"s6" id21"6l>2175ass=eft"oyedalled _prior_ t*=Upde=d a casu=insensithio4line" _""16=*ww casu=to chil. unhas"6 ine" n10"6sref">in9.42171>)v"67a9he.c#9961" id21"6U>217lass= DCACHE_DISCONNECTED),e* unhas"6 ine" n10"6sref">in9.42172>)v"67a9he.c#9812" id21"6h>217lass="with*a %NULL"@svot* line" _dust eevprbeen4nonymousibyohrst4/aew""16=*12"=/948". Old2lydd*ww unhas"6 ine" n10"6sref">in9.42173>)v"67a8he.c#8763" id21"6t>217lass=*=s o_d"*m v2L308">330844*12"=lengths_dust match (i". no rend7paro which allows0mismatchusic"crde>323"68lass=L10"6UG_ON4/a9ck2174>)v"67a8he.c#8914" }621"6h>217lass="r b96s=7needed7inp feulolengthsto unhas"58ne" na10"5try_unus9282175>)v"67a9he.c#9915" id21"6v>217lass="(via knfsd) so  l54ewu* unhas"58ne" na10"5try_unus9282176>)v"67a9he.c#9916" ""21"6s>217dv2L*edeiplice3aliac - iplic* Paroin>eef"c i_mutex_dust be heto tverohrst4/aewlydd3norlthis4cae, (or unhas"6 8ne" n10"6lock hel94/2177>)v"67a9he.>10"12" id21"6 >217lass="If"27dst4/aewac"found"* keep rechilp lyddc="curroin=insertp,wlyddrdad4ir(2) awayto unhas"58ne" na10"5try_unus9282178>)v"67a9he.c class="l21"6l>217lass= rsd""""""ed.  r b96mat*/a>4spa"669ass="10"6omment">9="2179>)v"67a9he.ct 21"lass=void*aliac>33L296">32/a>(scupde=dlc"cr_casu, 1chil;(scupde=dlc"cr_casu5"try" dentry_lru_move_list4/a>(struct dentry_lru_move_list(strct "65lass="10"6sref">de935218a>)v .>"68r9he.c#9208" id21"6>>21"6ass="65ne" na10"6le syste9d42181>)v"68a8he.c#8611" id21"6U>21811111idv2L361*nexpmove_livodBUG_ONuct#9409" idv2LBUG_ON5"try!*nexpmove_livodmutex_iscode=peect (st,_ct d_flparoinect d_fleef"c, 1chil;d_i_mutexct )v21821111idv2L361*nexpmove_livodBUG_ONuct#9409" idv2LBUG_ON5"trycnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fin!" cnexpmove_livodc"cruct#9409" idv2Lidving">ry" class="sref">denlenuct#9409" idv2Llend_fir"3*=s o_d"*m v2L308">3307dohrst4/aewghioslthis4*/a>4spa"669ass="10"6omment">9="2183>)v"58a8he.c#8543" id21"5t>218lass=587ass="10"5 v2L356"9.42184>)v"58a8he.c#v2L316"s21"5h>218lass=idv2L322cnexpmove_livodspincode=ect (st,_ct d_flode=ect )v"58a9he.t 2185ass=idv2L322cnexpmove_livodwri=dlseqnduin_begesct (st,_ct d_flseqect )v"58a9he.c#9916" st21"5s>2186ass=idv2L322cnexpmove_livodmemcpst,_ct (st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">e cnexpmove_livodc"cruct#9409" idv2Lidving">ry" class="sref">denc"cruct#9409" idv2Lidving">e cnexpmove_livodc"cruct#9409" idv2Lidving">ry" class="sref">denlenuct#9409" idv2Llend_fir"66ne" na10"6le syste9d42187>)v"5878he.c#8763" id21"5 >21871111idv2L361*nexpmove_livodwri=dlseqnduin_ed"truct (st,_ct d_flseqect )v"59a9he.c#9915" 21re">21881111idv2L361*nexpmove_livodspincunode=ect (st,_ct d_flode=ect )v"58a9he.ct 21"lass="612ass=L10"62ref">d_94/219a>)v"59v8he.c#8616" " 21"5s>21"5ass=eBOtry" ce4/amoRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">32/a>(scupde=dlc"cr_casu, 1chil;(scupde=dlc"cr_casu5"trc"66ne" na10"6le syste9d42191>)v"59a9he.c#9961" id21"5U>2191L361669ass="10"6omment">9="2192>)v"5928he.c#8616" " 21"5h>21"lass=s3aERc void*aliac>33L296">3switchlc"cr3aliacref=eidv2Lswitchlc"cr35"try" dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352193>)v"59a8he.c#8763" id21"5t>21"lass="65ne" na10"6le syste9d42194>)v"5sa8he.il;219lass=idv2L322ry" cnexpmove_livod4c"cr_externaltruct 33L296">3targenect ""u"65ne" na10"6le syste9d42195>)v"59a9he.c#9915" " 21"53>21933L296">34/a>(st,_ct )v"5969he.c#9261" " 21"5s>219"""4" class="line" ERRRRRRRRR*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="2197>)v"59a9he.c#9175" id21"53>21"lass="If"27dst4/aewac"found"""""""""""""""""""""""""* Both external: swap LLnepoint roa>4spa"669ass="10"6omment">9="2198>)v21"lass= rsd""""""ed.  r b96mat""""""""""""""""""""""""*/a>4spa"669ass="10"6omment">9="2199>)v"5999he.c#9261" id21"5r>2192L365ct 3swaeect 3targenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">e cnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">c"66ne" na10"6le syste9d422/a>)v)f>"5999he.c#9261" id22/a>>2206a hress="srd_addry" " elseu"659ass="10"6omment">93522/1>)v"59a9he.c#9961" id22/5U>22011111idv2L361"f="+coiiiiiiiiic=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="22/2>)v"5928he.c#8616" " 22/5h>220lass="with*a %NULL"@svod""""""""""""""""""""""""* dine" :int rnal, targen:external.  Steal targen'oa>4spa"669ass="10"6omment">9="22/3>)v"59a8he.c#8763" id22/5t>220lass=*=s o_d"*m v2L308">3308""""""""""""""""""""""""* storagewlyddmake targen int rnalo unhas"58ne" na10"5try_unus92822/4>)v"5sa8he.il;220lass="r b96s=7needed7inp feu""""""""""""""""""""""""*/a>4spa"669ass="10"6omment">9="22/5>)v"59a9he.c#9915" " 22/53>22033L296">3targenect agclasubdir sref">d_flic"cruct#9409" idv2Lfliidving">e cnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">,669ass="10"6omment">9="22/6>)v"5969he.c#9261" " 22/5s>220"""4" class="line" ERRRRRRRRR_addry" RRRRRRRRcnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fin+ 1c"66ne" na10"6le syste9d422/7>)v"59a9he.c#9175" id22/53>220o ass=" claine37"out_idv2L361*nexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">nd_cnexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">"66ne" na10"6le syste9d422/8>)v220lass=t964/a>3333b1R12RRRRRRRRaliaclasubdir stargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">nd_cnexpmove_livodtargenect agclasubdir sref">d_flic"cruct#9409" idv2Lfliidving">"66ne" na10"6le syste9d422/9>)v"5999he.c#9261" id22/5r>2202L365ct d_94/221a>)v"6110"sr>10"s6" id22"6s>2216L365ct 9352211>)v"61a9he.c#9261" >122"6v>22111111idv2L361"f="+coiry" cnexpmove_livod4c"cr_externaltruct 33L296">34/a>(st,_ct )v"61a8he.ct 2212L316ct 3307da>4spa"669ass="10"6omment">9="2213>)v"6139he.c#9261" i922"63>221lass=*=s o_d"*m v2L308">3308""""""""""""""""""""""""* dine" :external, targen:int rnalo  Ghio4line" 'oa>4spa"669ass="10"6omment">9="2214>)v"6149he.c#9261" id22"6s>221lass="r b96s=7needed7inp feu""""""""""""""""""""""""* storageworltargen lyddmake dee ex33noernalli4spa"669ass="10"6omment">9="2215>)v"61a9he.c#9915" " 22"6v>221lass="(via knfsd) so  l54ewu""""""""""""""""""""""""*/a>4spa"669ass="10"6omment">9="22"6>)v"61a9he.c#9916" " 22"6 >22""""4" class="line" ERUG_ONry"*nexpmove_livodmemcpst,_ct 33L296">3d/a>(st,_ct d_flee"cruct#9409" idv2Lfliidving">e cnexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">e669ass="10"6omment">9="22"7>)v"6179he.c#9261" id22"6o>22"o ass=" claine37"out_idv2L361line" ERUG_ONry"*nexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fin+ 1c"66ne" na10"6le syste9d42218>)v"6189he.c#9261" id22"6l>221lass=t964/a>3333b1R12RRRRRRRRaliaclasubdir stargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">nd_cnexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">"66ne" na10"6le syste9d42219>)v"6199he.c#9261" id22"69>22"2L365ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">nd_aliaclasubdir sd/a>(st,_ct d_flee"cruct#9409" idv2Lfliidving">"66ne" na10"6le syste9d4222a>)v"62v8he.c#8616" " 22"6 >2226a hress="srd_addry" " elseu"659ass="10"6omment">9352221>)v"62a9he.c#9261" id22"6s>22211111idv2L361"f="+coi________c=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="2222>)v"62a9he.c#9122" id22"62>222lass="with*a %NULL"@svod""""""""""""""""""""""""* Both aro int rnalo  Just copyltargen orldene" 5">323"68lass=L10"6UG_ON4/a9ck22"3>)v"6239he.c#9261" id22"63>222lass=*=s o_d"*m v2L308">3308""""""""""""""""""""""""*/a>4spa"669ass="10"6omment">9="22"4>)v"62a8he.il;222lass=idv2L322" classi________cnexpmove_livodmemcpst,_ct 33L296">3d/a>(st,_ct d_flee"cruct#9409" idv2Lfliidving">e cnexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lidving">e669ass="10"6omment">9="22"5>)v"62a9he.c#9915" ""22"6v>222agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fin+ 1c"66ne" na10"6le syste9d42226>)vnr>"6269he.UGrrierhef22"6>>222"""4" class="line" ERUG_ONry"*nexpmove_livod4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_find_cnexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fi"66ne" na10"6le syste9d42227>)v"62a9he.cass=" cla22"6o>222o ass=" claine37"out_idv2L361R_CAST"66ne" na10"6le syste9d42228>)v"6289he.c#9915" " 22"6l>222lass=t964/a>3333b1R12"612ass=L10"62ref">d_94/22"9>)v"62a9he.c#9949" id22"69>2222L365ct d_94/223a>)v"63v8he.c#8616" " 22"6m>2230ass=idv2L322*nexpmove_livodswaeect 34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fie cnexpmove_livodtargenect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenuct#9409" idv2Llend_fir"66ne" na10"6le syste9d42231>)v"63a9he.c#9961" ""22"6s>2231L361"612ass=L10"62ref">d_94/2232>)v"63a9he.>10"12" id22"6s>223_loc"61ne" na10"63ref">d_9ck22"3>)v"63a8he." class="l22"62>22"lass=s3aERc void*aliac>33L296">3f/a>(scode=_3"5_movet,_ct (scode=_3"5_move5"try" dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de93522"4>)v"63a8he.il;223lass="659ass="10"6omment">93522"5>)v"6310"s4>10"45" id22"6v>2235ass=idv2L322c=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="22"6>)v"6396">32964/a>33322"6r>223dv2L*edeiplice3aliac - ipliccccccccc* XXXX:edouwedrdally neneuorltake targenagcladcode=?a>4spa"669ass="10"6omment">9="22"7>)v"63a9he.c#9207" id22"6h>223lass="If"27dst4/aewac"found"""""""""*/a>4spa"669ass="10"6omment">9="22"8>)v"63a9he.c#9408" id22"6l>22381111idv2L361ry" cnexpmove_livodIS_ROOTect 34/a>(st,_ct (st,_ct d_flparoinect agclasubdir sref">d_flparoinect de93522"9>)v"63a9he.c#9409" id22"6o>2232L365ct agclasubdir sref">d_flparoinect d_flode=ect )v"64r9he.c#9208" id22"6 >2240ass=idv2L322elseu"659ass="10"6omment">9352241>)v"64a8he.c#8611" id22"6s>22411111idv2L361"f="+coiry" cnexpmove_livod4_ancestorect 34/a>(st,_ct d_flparoinect d_targenect agclasubdir sref">d_flparoinect )v"64a8he.c#8642" id22"6 >2242L316ct (st,_ct d_flparoinect d_flode=ect )v"64a8he.c#8543" id22"6l>224lass=idv2L322" classie=dentry*ce4/amove_lIS_6pincode=_nestpeect agclasubdir sref">d_flparoinect d_flode=ect 9="2244>)v"64a9he.c#9044" id22"6s>224lass=idv2L322" classi________idv2L322" classie=dentry*ce4/amove_lIS_DENTRY_D_LOCK_NESTEDect )v"6410"s4>10"45" id22"6v>2249352246>)v"6496">32964/a>33322"6r>224"""4" class="line" ERUG_ONry"*nexpmove_livodspincode=ect agclasubdir sref">d_flparoinect d_flode=ect )v"64a9he.c#9207" id22"6h>224o ass=" claine37"out_idv2L361*nexpmove_livodspincode=_nestpeect (st,_ct d_flparoinect d_flode=ect 9="2248>)v"6 a9he.c#9408" id22"6l>224lass=t964/a>3333b1R12RRRRRRRRidv2L322" classie=dentry*ce4/amove_lIS_DENTRY_D_LOCK_NESTEDect )v"6 a9he.c#9409" id22"6o>2242L365ct d_94/225a>)v"65r9he.c#9208" id22"6r>2256L365ct d_94/2251>)v"65a8he.c#v2L316"s22"6 >22511111idv2L361ry" cnexpmove_livodtargenect  <ry_lru_move_list4/a>(struct 9352252>)v"6528he.t 2252L316ct agclasubdir sref">d_flode=ect )v"65a8he.c#8763" id22"6l>225lass=idv2L322" classiy_lru_move_listspincode=_nestpeect (st,_ct d_flode=ect )v"65a8he.il;225lass=idv2L322"2elseu"659ass="10"6omment">9352255>)v"65a9he.c#9915" " 22"6v>225(st,_ct d_flode=ect )v"65a9he.c#9916" id22"6s>225"""4" class="line" ERcnexpmove_livod6pincode=_nestpeect agclasubdir sref">d_flode=ect )v"6578he.gt;2257L365ct d_94/2258>)v"6589he.c#9915" " 22"6l>225RT_SY"612ass=L10"62ref">d_94/22"9>)v"65a9he.c#9949" id22"6o>2252L365669ass="10"6omment">9="226a>)v"6610"sr>10"s6" id22"6h>2260ass=s3aERc void*aliac>33L296">3f/a>(scunode=eparoins_3"5_movet,_ct (scunode=eparoins_3"5_move5"try" dentry_lru_move_list4/a>(struct 9="2261>)v"66a9he.c#9961" id22"6 >22611111idv2L361"f="+coi________________________">dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352262>)v"66a9he.c#9812" id22"6h>22"lass="659ass="10"6omment">9352263>)v"66a8he.c#8763" id22"6l>22631111idv2L361ry" cnexpmove_livodtargenect agclasubdir sref">d_flparoinect (st,_ct d_flparoinect de9352264>)v"66a8he.c#8914" id22"6s>226lass=idv2L322" classicnexpmove_livod6pincunode=ect (st,_ct d_flparoinect d_flode=ect )v"66a9he.c#9915" id22"6v>226agclasubdir sref">d_flparoinect "65lass="10"6sref">de9352266>)v"66a9he.c#9916" id22"6s>226"""4" class="line" ERcnexpmove_livod6pincunode=ect agclasubdir sref">d_flparoinect d_flode=ect )v"66a9he.c#9175" id22"6 >226lass="612ass=L10"62ref">d_94/2268>)v"66a9he.c#9148" id22"6l>226lass=612ass=L10"62ref">d_94/2269>)v"66a9he.c#9949" id22"6o>226lass=eft"oyedalled _prior_ 7da>4spa"669ass="10"6omment">9="227a>)v"6710"sr>10"s6" id22"6l>2275ass=eft"oyedalled _prior_ t*=When4switchled "s6"s, LLneactual_">dled doesn't_">dlctly eevpror unhas"6 8ne" n10"6lock hel94/2271>)v"67a9he.c#9961" id22"6U>227lass= DCACHE_DISCONNECTED),e* be preservedd3n LLnetargen - becauseosn're droepled LLnetargen unhas"6 8ne" n10"6lock hel94/2272>)v"67a9he.c#9812" id22"6h>227lass="with*a %NULL"@svot* anyway. As such,uwedcan just drli simple memcps()uorlcopyltver unhas"6 8ne" n10"6lock hel94/2273>)v"67a8he.c#8763" id22"6t>227lass=*=s o_d"*m v2L308">330844LLne*ww c"cr be3"5eosnoswitcho unhas"58ne" na10"5try_unus9282274>)v"67a8he.c#8914" }622"6h>227lass="r b96s=7needed7inp feul unhas"58ne" na10"5try_unus9282275>)v"67a9he.c#9915" id22"6v>227lass="(via knfsd) so  l54ewu* NotnoLLatosnoeevpror be a lot m"5eocaroful about gentled LLneee=d5">323"68lass=L10"6UG_ON4/a9ck2276>)v"67a9he.c#9916" ""22"6s>227dv2L*edeiplice3aliac - iplic* switchedd-osnoeevpror switch LLneee=d value properly even4ry"in unhas"6 8ne" n10"6lock hel94/2277>)v"67a9he.>10"12" id22"6 >227lass="If"27dst4/aewac"found"* then4no longer matchoslthneactual_(corruptpe)_">dled of LLnetargeno unhas"58ne" na10"5try_unus9282278>)v"67a9he.c class="l22"6l>227lass= rsd""""""ed.  r b96mat* TLneee=d value ee=ror match LLneee=d queunoLLatoLLnedee ex33s on.o unhas"58ne" na10"5try_unus9282279>)v"67a9he.ct 227lass=eft"oyedalled _prior_ t*/a>4spa"669ass="10"6omment">9="228a>)v .>"68r9he.c#9208" id22"6>>2286ass=eft"oyedalled _prior_ L2a>4spa"669ass="10"6omment">9="2281>)v"68a8he.c#8611" id22"6U>228lass= DCACHE_DISCONNECTED),e* __d_moved-omovedaldene" 5">323"68lass=L10"6UG_ON4/a9ck2282>)v228lass="with*a %NULL"@svot* @dine" : ene"  to move5">323"68lass=L10"6UG_ON4/a9ck2283>)v"58a8he.c#8543" id22"5t>228lass=*=s o_d"*m v2L308">330844@targen:e*ww dene" 5">323"68lass=L10"6UG_ON4/a9ck2284>)v"58a8he.c#v2L316"s22"5h>228lass="r b96s=7needed7inp feul unhas"58ne" na10"5try_unus9282285>)v"58a9he.t 228lass="(via knfsd) so  l54ewu* Upde=d LLnedy_unu to  nalectoLLnemovedof a file a hh. Negathio unhas"58ne" na10"5try_unus9282286>)v"58a9he.c#9916" st22"5s>228dv2L*edeiplice3aliac - iplic* fy_unu ene"ioslshould4not be movedd3n LL3s way. Caller must eoll;)v"5878he.c#8763" id22"5 >228lass="If"27dst4/aewac"found"* rechilcode=, LLnei_mutex_of LLnesourcewlyddtargen directo"ios,;)v"59a9he.c#9915" 22re">228lass= rsd""""""ed.  r b96mat* lyddtLnesbagclas_vfs_rechilcmutex_if LLny differ. See ode=erechil(to unhas"58ne" na10"5try_unus92822"9>)v"58a9he.ct 228lass=eft"oyedalled _prior_ t*/a>4spa"669ass="10"6omment">9="229a>)v"59v8he.c#8616" " 22"5s>2290ass=s3aERc void*aliac>33L296">3__d_moveect (struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352291>)v"59a9he.c#9961" id22"5U>2291L361"659ass="10"6omment">9352292>)v"5928he.c#8616" " 22"5h>2292L316ct (st,_ct d_fleeo"c, 1chil;de9352293>)v"59a8he.c#8763" id22"5t>229lass=idv2L322" classiy_lru_move_listpdlet=ect 3KERN_WARNINGect dled">"VFS: movled "egathio fy_unu ene"y\n"a>4spa"c"66ne" na10"6le syste9d42294>)v"5sa8he.il;229lass=612ass=L10"62ref">d_94/2295>)v"59a9he.c#9915" " 22"53>2293BUG_ONuct#9409" idv2LBUG_ON5"trycnexpmove_livod4_ancestorect 34/a>(st,_ct d_targenect )""66ne" na10"6le syste9d42296>)v"5969he.c#9261" " 22"5s>2296ass=idv2L322cnexpmove_livodBUG_ONuct#9409" idv2LBUG_ON5"trycnexpmove_livod4_ancestorect 3targenect e cnexpmove_livod4/a>(st,_ct )v"59a9he.c#9175" id22"53>22"lass=66ne" na10"6le syste9d42298>)v22981111idv2L361*nexpmove_livodf/a>(scode=_3"5_movet,_ct (scode=_3"5_move5"tryaliac>33L296">34/a>(st,_ct d_targenect )"66ne" na10"6le syste9d42299>)v"5999he.c#9261" id22"5r>2292L365669ass="10"6omment">9="23/a>)v)f>"5999he.c#9261" id23/a>>2300ass=idv2L322*nexpmove_livodwri=dlseqnduin_begesct (st,_ct d_flseqect )v"59a9he.c#9961" id23/5U>23011111idv2L361*nexpmove_livodwri=dlseqnduin_begesct agclasubdir sref">d_flseqect )v"5928he.c#8616" " 23/5h>230_loc"61ne" na10"63ref">d_9ck23/3>)v"59a8he.c#8763" id23/5t>230lass=idv2L322*=s o_d"*m v2L308">3307do__d_droe does wri=dlseqnduin_bar"ior, butoLLny're OK to nest.t*/a>4spa"669ass="10"6omment">9="23/4>)v"5sa8he.il;230lass=612ass=L10"62ref">d_94/23/5>)v"59a9he.c#9915" " 23/53>2305ass=idv2L322c=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="23/6>)v"5969he.c#9261" " 23/5s>230dv2L*edeiplice3aliac - ipliccccccccc* MovedLLnedee ex3to LLnetargen ee=d queun. Don't_boLLnr nt"ckleda>4spa"669ass="10"6omment">9="23/7>)v"59a9he.c#9175" id23/53>230lass="If"27dst4/aewac"found"""""""""* 3"5dtLnes"cr ee=d queunobecauseoof how unlikely it iso unhas"58ne" na10"5try_unus92823/8>)v230lass= rsd""""""ed.  r b96mat""""""""*/a>4spa"669ass="10"6omment">9="23/9>)v"5999he.c#9261" id23/5r>2302L365ct 33L296">3__d_droeect 33L296">34/a>(st,_ct )v"6110"sr>10"s6" id23"6s>2310ass=idv2L322*nexpmove_livod__d_reashref=ect (st,_ct d_flashref=ect agclasubdir sref">d_flparoinect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect )v"61a9he.c#9261" >123"6v>2311L361669ass="10"6omment">9="2312>)v"61a8he.ct 2312L316ct 3307doUnee=d LLnetargen: dput() will then4gen ridoof it */a>4spa"669ass="10"6omment">9="2313>)v"6139he.c#9261" i923"63>2313L365ct 33L296">3__d_droeect 33L296">3targenect )"66ne" na10"6le syste9d42314>)v"6149he.c#9261" id23"6s>231lass=612ass=L10"62ref">d_94/2315>)v"61a9he.c#9915" " 23"6v>2313list_deltruct (st,_ct d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42316>)v"61a9he.c#9916" " 23"6 >2316ass=idv2L322cnexpmove_livodlist_deltruct agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42317>)v"6179he.c#9261" id23"6o>231lass=66ne" na10"6le syste9d42318>)v"6189he.c#9261" id23"6l>231lass=t964/a>3*=s o_d"*m v2L308">3307doSwitch LLne"s6"s..t*/a>4spa"669ass="10"6omment">9="2319>)v"6199he.c#9261" id23"69>2312L365ct 33L296">3switchlc"cr3aliacref=eidv2Lswitchlc"cr35"tryaliac>33L296">34/a>(st,_ct d_targenect )"66ne" na10"6le syste9d4232a>)v"62v8he.c#8616" " 23"6 >2320ass=idv2L322*nexpmove_livodswaeect 34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect )v"62a9he.c#9261" id23"6s>2321L361669ass="10"6omment">9="2322>)v"62a9he.c#9122" id23"62>2322L316ct 3307do...tlyddswitch LLneparoinst*/a>4spa"669ass="10"6omment">9="23"3>)v"6239he.c#9261" id23"63>23231111idv2L361ry" cnexpmove_livodIS_ROOTect 34/a>(st,_ct 93523"4>)v"62a8he.il;232lass=idv2L322" classicnexpmove_livod4/a>(st,_ct d_flparoinect agclasubdir sref">d_flparoinect )v"62a9he.c#9915" ""23"6v>232agclasubdir sref">d_flparoinect "66ne" na10"6le syste9d42326>)vnr>"6269he.UGrrierhef23"6>>232"""4" class="line" ERcnexpmove_livodINIT_LIST_HEADect agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42327>)v"62a9he.cass=" cla23"6o>232o ass=" clain"2elseu"659ass="10"6omment">9352328>)v"6289he.c#9915" " 23"6l>232lass=t964/a>3333b1R12*nexpmove_livodswaeect 34/a>(st,_ct d_flparoinect d_targenect agclasubdir sref">d_flparoinect )v"62a9he.c#9949" id23"69>2322L365669ass="10"6omment">9="233a>)v"63v8he.c#8616" " 23"6m>2336a hress="srd_addry" *=s o_d"*m v2L308">3307doAyddadddtLnm back3to LLne(new)eparoin listst*/a>4spa"669ass="10"6omment">9="2331>)v"63a9he.c#9961" ""23"6s>23311111idv2L361"f="+coicnexpmove_livodlist_addtruct agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect , ery" cnexpmove_livodtargenect agclasubdir sref">d_flparoinect d_flsubdir3aliacref=eidv2Lflsubdir3dery""66ne" na10"6le syste9d42332>)v"63a9he.>10"12" id23"6s>2332L316ct d_94/23"3>)v"63a8he." class="l23"62>233lass=587ass="10"5 v2L356"9.423"4>)v"63a8he.il;233lass=idv2L322cnexpmove_livodlist_addtruct (st,_ct d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect , ery" cnexpmove_livod4/a>(st,_ct d_flparoinect d_flsubdir3aliacref=eidv2Lflsubdir3dery""66ne" na10"6le syste9d42335>)v"6310"s4>10"45" id23"6v>2335ass=66ne" na10"6le syste9d42336>)v"6396">32964/a>33323"6r>2336ass=idv2L322cnexpmove_livodwri=dlseqnduin_ed"truct agclasubdir sref">d_flseqect )v"63a9he.c#9207" id23"6h>23371111idv2L361*nexpmove_livodwri=dlseqnduin_ed"truct (st,_ct d_flseqect )v"63a9he.c#9408" id23"6l>233lass=612ass=L10"62ref">d_94/23"9>)v"63a9he.c#9409" id23"6o>2332L365ct 33L296">3f/a>(scunode=eparoins_3"5_movet,_ct (scunode=eparoins_3"5_move5"tryaliac>33L296">34/a>(st,_ct d_targenect )"66ne" na10"6le syste9d4234a>)v"64r9he.c#9208" id23"6 >2340ass=idv2L322*nexpmove_livodspincunode=ect agclasubdir sref">d_flode=ect )v"64a8he.c#8611" id23"6s>23411111idv2L361*nexpmove_livodfsnotify_d_moveect 33L296">34/a>(st,_ct )v"64a8he.c#8642" id23"6 >23421111idv2L361*nexpmove_livodspincunode=ect (st,_ct d_flode=ect )v"64a8he.c#8543" id23"6l>234lass="612ass=L10"62ref">d_94/2344>)v"64a9he.c#9044" id23"6s>234lass=612ass=L10"62ref">d_94/2345>)v"6410"s4>10"45" id23"6v>234lass="(via knfsd) so  l54ew7da>4spa"669ass="10"6omment">9="2346>)v"6496">32964/a>33323"6r>234dv2L*edeiplice3aliac - iplic* f_moved-omovedaldene" 5">323"68lass=L10"6UG_ON4/a9ck2347>)v"64a9he.c#9207" id23"6h>234lass="If"27dst4/aewac"found"* @dine" : ene"  to move5">323"68lass=L10"6UG_ON4/a9ck2348>)v"6 a9he.c#9408" id23"6l>234lass= rsd""""""ed.  r b96mat* @targen:e*ww dene" 5">323"68lass=L10"6UG_ON4/a9ck2349>)v"6 a9he.c#9409" id23"6o>234lass=eft"oyedalled _prior_ t*5">323"68lass=L10"6UG_ON4/a9ck235a>)v"65r9he.c#9208" id23"6r>2355ass=eft"oyedalled _prior_ t*=Upde=d LLnedy_unu to  nalectoLLnemovedof a file a hh. Negathio unhas"58ne" na10"5try_unus9282351>)v"65a8he.c#v2L316"s23"6 >235lass= DCACHE_DISCONNECTED),e* fy_unu ene"ioslshould4not be movedd3n LL3s way. See LLneode=leda>4spa"669ass="10"6omment">9="2352>)v"6528he.t 235lass="with*a %NULL"@svot* requiremoinst3"5d__d_moveo unhas"58ne" na10"5try_unus9282353>)v"65a8he.c#8763" id23"6l>235lass=*=s o_d"*m v2L308">33084/a>4spa"669ass="10"6omment">9="2354>)v"65a8he.il;235lass=void*aliac>33L296">3f_movet,_ct (struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352355>)v"65a9he.c#9915" " 23"6v>2359352356>)v"65a9he.c#9916" id23"6s>2356ass=idv2L322cnexpmove_livodwri=dlseqode=ect )v"6578he.gt;23571111idv2L361*nexpmove_livod__d_moveect 33L296">34/a>(st,_ct d_targenect )"66ne" na10"6le syste9d42358>)v"6589he.c#9915" " 23"6l>23581111idv2L361*nexpmove_livodwri=dlsequnode=ect )v"65a9he.c#9949" id23"6o>235lass="612ass=L10"62ref">d_94/236a>)v"6610"sr>10"s6" id23"6h>2365ass=eBOtry" ce4/amoRe_lEXPORT_SYMBOtref=e" class="line" eeiplice3aliac>33L296">32_movet,_ct )v"66a9he.c#9961" id23"6 >2361L361669ass="10"6omment">9="2362>)v"66a9he.c#9812" id23"6h>236lass="with*a %NULL"@svo/**5">323"68lass=L10"6UG_ON4/a9ck2363>)v"66a8he.c#8763" id23"6l>236lass=*=s o_d"*m v2L308">330844dcancestord-osearcht3"5d o_ancestorli>323"68lass=L10"6UG_ON4/a9ck2364>)v"66a8he.c#8914" id23"6s>236lass="r b96s=7needed7inp feul @p1:_ancestor dene" 5">323"68lass=L10"6UG_ON4/a9ck2365>)v"66a9he.c#9915" id23"6v>236lass="(via knfsd) so  l54ewu* @p2: chile dene" 5">323"68lass=L10"6UG_ON4/a9ck2366>)v"66a9he.c#9916" id23"6s>236dv2L*edeiplice3aliac - iplic*5">323"68lass=L10"6UG_ON4/a9ck2367>)v"66a9he.c#9175" id23"6 >236lass="If"27dst4/aewac"found"* R_CASTslthneancestor dene" dof p2 whicht3s a chile of p1,1ry"p1t3s5">323"68lass=L10"6UG_ON4/a9ck2368>)v"66a9he.c#9148" id23"6l>236lass= rsd""""""ed.  r b96mat* lyeancestor of p2,2elseuNULLo unhas"58ne" na10"5try_unus9282369>)v"66a9he.c#9949" id23"6o>236lass=eft"oyedalled _prior_ 84/a>4spa"669ass="10"6omment">9="237a>)v"6710"sr>10"s6" id23"6l>2370ass=s3dentry_lru_move_list4/a>(struct (struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352371>)v"67a9he.c#9961" id23"6U>2371L361"659ass="10"6omment">9352372>)v"67a9he.c#9812" id23"6h>23721111idv2L361">dentry_lru_move_list4/a>(struct "66ne" na10"6le syste9d42373>)v"67a8he.c#8763" id23"6t>237lass=587ass="10"5 v2L356"9.42374>)v"67a8he.c#8914" }623"6h>237lass=idv2L3223"5d3aliac>33L296">3ptruct nd_cnexpmove_livodp2truct ; !*nexpmove_livodIS_ROOTect 3ptruct );ry_lru_move_listptruct nd_cnexpmove_livodptruct agclasubdir sref">d_flparoinect 9352375>)v"67a9he.c#9915" id23"6v>237agclasubdir sref">d_flparoinect de9352376>)v"67a9he.c#9916" ""23"6s>237"""4" class="line" ERUG_ONry"R_CAST_cnexpmove_livodptruct "66ne" na10"6le syste9d42377>)v"67a9he.>10"12" id23"6 >2377L365ct d_94/2378>)v"67a9he.c class="l23"6l>23781111idv2L361R_CAST_cnexpmove_livodNULLtruct "66ne" na10"6le syste9d42379>)v"67a9he.ct 237lass="612ass=L10"62ref">d_94/238a>)v .>"68r9he.c#9208" id23"6>>2386ass=612ass=L10"62ref">d_94/2381>)v"68a8he.c#8611" id23"6U>238lass= DCACHE_DISCONNECTED),7da>4spa"669ass="10"6omment">9="2382>)v238lass="with*a %NULL"@svot* TL3s helpe5d ttemptsuorlcope with1R_motely rechild directo"iosa>4spa"669ass="10"6omment">9="2383>)v"58a8he.c#8543" id23"5t>238lass=*=s o_d"*m v2L308">33084a>4spa"669ass="10"6omment">9="2384>)v"58a8he.c#v2L316"s23"5h>238lass="r b96s=7needed7inp feul It 7neumoslthatoLLnecaller 3s already eollleda>4spa"669ass="10"6omment">9="2385>)v"58a9he.t 238lass="(via knfsd) so  l54ewu* "srnewagcladcparoinagcladceef"cagclai_mutex,1ref"cagclai_ode=tlyddrechilcode=de4spa"669ass="10"6omment">9="2386>)v"58a9he.c#9916" st23"5s>238dv2L*edeiplice3aliac - iplic*de4spa"669ass="10"6omment">9="2387>)v"5878he.c#8763" id23"5 >238lass="If"27dst4/aewac"found"* Notn: If ever LLneode=ledd3n ode=erechil(t chang"s, LLnn pleaso unhas"58ne" na10"5try_unus9282388>)v"59a9he.c#9915" 23re">238lass= rsd""""""ed.  r b96mat* remomber Lo upde=d LLisuoro..o unhas"58ne" na10"5try_unus92823"9>)v"58a9he.ct 238lass=eft"oyedalled _prior_ t*/a>4spa"669ass="10"6omment">9="239a>)v"59v8he.c#8616" " 23"5s>2390ass=s3aERc ">dentry_lru_move_list4/a>(struct 9="2391>)v"59a9he.c#9961" id23"5U>23911111idv2L361"f="+coi" dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct de9352392>)v"5928he.c#8616" " 23"5h>239lass="659ass="10"6omment">9352393>)v"59a8he.c#8763" id23"5t>239lass=idv2L322">dentry_lru_move_listmutexaliacref=eidv2Lmutexntry_ly_lru_move_listm1truct nd_cnexpmove_livodNULLtruct ,_ly_lru_move_listm2truct nd_cnexpmove_livodNULLtruct "66ne" na10"6le syste9d42394>)v"5sa8he.il;2394ass=idv2L322">dentry_lru_move_list4/a>(struct )v"59a9he.c#9915" " 23"53>2395ass=66ne" na10"6le syste9d42396>)v"5969he.c#9261" " 23"5s>2396ass=idv2L322c=s o_d"*m v2L308">3307doIf alia3tlydddene" dsharo aeparoin, then4no extra ode=s requiredt*/a>4spa"669ass="10"6omment">9="2397>)v"59a9he.c#9175" id23"53>2397L365ct d_flparoinect d_flparoinect de9352398>)v239lass=t964/a>3333b1R12goLo subdir sref">d_out_unalia3aliacref=eidv2Lout_unalia3ng">"66ne" na10"6le syste9d42399>)v"5999he.c#9261" id23"5r>2392L365669ass="10"6omment">9="24/a>)v)f>"5999he.c#9261" id24/a>>2400ass=idv2L322*=s o_d"*m v2L308">3307doSee ode=erechil(tt*/a>4spa"669ass="10"6omment">9="24/1>)v"59a9he.c#9961" id24/5U>24011111idv2L361ry" !*nexpmove_livodmutex_ivoode=ect (st,_ct d_flsbect d_s_vfs_rechilcmutexect de93524/2>)v"5928he.c#8616" " 24/5h>2402L316ct d_out_errect "66ne" na10"6le syste9d424/3>)v"59a8he.c#8763" id24/5t>2403L365ct 33L296">3m1truct nd_ery" cnexpmove_livod4/a>(st,_ct d_flsbect d_s_vfs_rechilcmutexect )v"5sa8he.il;24041111idv2L361ry" !*nexpmove_livodmutex_ivoode=ect d_flparoinect d_fleeo"c, 1chil;d_icmutexect de93524/5>)v"59a9he.c#9915" " 24/53>240d_out_errect "66ne" na10"6le syste9d424/6>)v"5969he.c#9261" " 24/5s>2406ass=idv2L322cnexpmove_livodm2truct nd_ery" cnexpmove_livodalia3aliacref=eidv2Lalia3liceagclasubdir sref">d_flparoinect d_fleeo"c, 1chil;d_icmutexect )v"59a9he.c#9175" id24/53>240lass="ubdir sref">d_out_unalia3aliacref=eidv2Lout_unalia3ng">:66ne" na10"6le syste9d424/8>)v24081111idv2L361ry" cnexpmove_livodlikelyaliacref=eidv2Llikelylice3!*nexpmove_livod4_mduinpoiinect 3alia3aliacref=eidv2Lalia3lice"""u"659ass="10"6omment">93524/9>)v"5999he.c#9261" id24/5r>2402L365ct 33L296">3alia3aliacref=eidv2Lalia3licee cnexpmove_livod4/a>(st,_ct )v"6110"sr>10"s6" id24"6s>2416a hress="srd_addry" *_lru_move_listrenect )v"61a9he.c#9261" >124"6v>24111111idv2L361"612ass=L10"62ref">d_94/2412>)v"61a8he.ct 2412L316subdir sref">d_out_errect :66ne" na10"6le syste9d42413>)v"6139he.c#9261" i924"63>2413L365ct 33L296">3spincunode=ect d_icode=ect )v"6149he.c#9261" id24"6s>24141111idv2L361ry" cnexpmove_livodm2truct "65lass="10"6sref">de9352415>)v"61a9he.c#9915" " 24"6v>24133L296">3m2truct ""66ne" na10"6le syste9d42416>)v"61a9he.c#9916" " 24"6 >2416ass=idv2L322ry" cnexpmove_livodm1truct "65lass="10"6sref">de9352417>)v"6179he.c#9261" id24"6o>241o ass=" claine37"out_cnexpmove_livodmutex_unode=ect 33L296">3m1truct ""66ne" na10"6le syste9d42418>)v"6189he.c#9261" id24"6l>24181111idv2L361R_CAST_cnexpmove_livodrenect )v"6199he.c#9261" id24"69>241lass="612ass=L10"62ref">d_94/242a>)v"62v8he.c#8616" " 24"6 >2426ass=612ass=L10"62ref">d_94/2421>)v"62a9he.c#9261" id24"6s>242lass= DCACHE_DISCONNECTED),7da>4spa"669ass="10"6omment">9="2422>)v"62a9he.c#9122" id24"62>242lass="with*a %NULL"@svot* Preparo ayeanonymdusddene" d3"5dlifed3n LLnesuperbode='sddene" dtree a3tla>4spa"669ass="10"6omment">9="2423>)v"6239he.c#9261" id24"63>242lass=*=s o_d"*m v2L308">330844child dene" din place_of LLnedee ex3to be1R_placedo unhas"58ne" na10"5try_unus92824"4>)v"62a8he.il;242lass="r b96s=7needed7inp feul r_CASTslwith1anonagcladcode=theld! unhas"58ne" na10"5try_unus92824"5>)v"62a9he.c#9915" ""24"6v>242lass="(via knfsd) so  l54ewu*/a>4spa"669ass="10"6omment">9="2426>)vnr>"6269he.UGrrierhef24"6>>242"""4"s3aERc void*aliac>33L296">3__d_materialise_4/a>(st,_ct (slice3s3dentry_lru_move_list4/a>(struct dentry_lru_move_list4/a>(struct "65lass="10"6sref">de9352427>)v"62a9he.cass=" cla24"6o>242o ass"659ass="10"6omment">9352428>)v"6289he.c#9915" " 24"6l>242lass=t964/a>3s3dentry_lru_move_list4/a>(struct )v"62a9he.c#9949" id24"69>2422L365669ass="10"6omment">9="243a>)v"63v8he.c#8616" " 24"6m>2430ass=idv2L322*nexpmove_livodf/a>(scode=_3"5_movet,_ct (scode=_3"5_move5"tryaliac>33L296">3anonaliacref=eidv2Lanonng">e cnexpmove_livod4/a>(st,_ct )v"63a9he.c#9961" ""24"6s>2431L361669ass="10"6omment">9="2432>)v"63a9he.>10"12" id24"6s>24321111idv2L361*nexpmove_livodwri=dlseqnduin_begesct (st,_ct d_flseqect )v"63a8he." class="l24"62>2433L365ct 33L296">3wri=dlseqnduin_begesct agclasubdir sref">d_flseqect )v"63a8he.il;243lass=612ass=L10"62ref">d_94/2435>)v"6310"s4>10"45" id24"6v>24334paroinect d_flparoinect )v"6396">32964/a>33324"6r>2436ass=idv2L322cnexpmove_livodaparoinect agclasubdir sref">d_flparoinect )v"63a9he.c#9207" id24"6h>243lass=66ne" na10"6le syste9d424"8>)v"63a9he.c#9408" id24"6l>24381111idv2L361*nexpmove_livodswitchlc"cr3aliacref=eidv2Lswitchlc"cr35"tryaliac>33L296">34/a>(st,_ct d_anonaliacref=eidv2Lanonng">""66ne" na10"6le syste9d424"9>)v"63a9he.c#9409" id24"6o>2432L365ct 33L296">3swaeect 34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect agclasubdir sref">d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_ashref=ect )v"64r9he.c#9208" id24"6 >2446ass=612ass=L10"62ref">d_94/2441>)v"64a8he.c#8611" id24"6s>24411111idv2L361*nexpmove_livod4/a>(st,_ct d_flparoinect 3aparoinect ) ?ry_lru_move_list4/a>(struct )v"64a8he.c#8642" id24"6 >24421111idv2L361*nexpmove_livodlist_deltruct (st,_ct d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42443>)v"64a8he.c#8543" id24"6l>24431111idv2L361ry" !*nexpmove_livodIS_ROOTect 34/a>(st,_ct )v"64a9he.c#9044" id24"6s>244lass=idv2L322" classicnexpmove_livodlist_addtruct (st,_ct d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect , ery" cnexpmove_livod4/a>(st,_ct d_flparoinect d_flsubdir3aliacref=eidv2Lflsubdir3dery""66ne" na10"6le syste9d42445>)v"6410"s4>10"45" id24"6v>244)v"6496">32964/a>33324"6r>244"""4" class="line" ERcnexpmove_livodINIT_LIST_HEADect (st,_ct d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42447>)v"64a9he.c#9207" id24"6h>244lass=66ne" na10"6le syste9d42448>)v"6 a9he.c#9408" id24"6l>24481111idv2L361*nexpmove_livodanonaliacref=eidv2Lanonng">agclasubdir sref">d_flparoinect 34paroinect _:2cnexpmove_livod4paroinect )v"6 a9he.c#9409" id24"6o>2442L365ct 33L296">3list_deltruct agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d4245a>)v"65r9he.c#9208" id24"6r>24501111idv2L361ry" !*nexpmove_livodIS_ROOTect 3anonaliacref=eidv2Lanonng">)"66ne" na10"6le syste9d42451>)v"65a8he.c#v2L316"s24"6 >24511111idv2L361"f="+coicnexpmove_livodlist_addtruct agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect , ery" cnexpmove_livodanonaliacref=eidv2Lanonng">agclasubdir sref">d_flparoinect d_flsubdir3aliacref=eidv2Lflsubdir3dery""66ne" na10"6le syste9d42452>)v"6528he.t 2452a hress="srdelse66ne" na10"6le syste9d42453>)v"65a8he.c#8763" id24"6l>245lass=idv2L322" classiy_lru_move_listINIT_LIST_HEADect agclasubdir sref">d_fluuct#9409" idv2Lfludery.subdir sref">d_d_chileect )"66ne" na10"6le syste9d42454>)v"65a8he.il;245lass=612ass=L10"62ref">d_94/2455>)v"65a9he.c#9915" " 24"6v>2453wri=dlseqnduin_ed"truct (st,_ct d_flseqect )v"65a9he.c#9916" id24"6s>2456ass=idv2L322cnexpmove_livodwri=dlseqnduin_ed"truct agclasubdir sref">d_flseqect )v"6578he.gt;245lass=66ne" na10"6le syste9d42458>)v"6589he.c#9915" " 24"6l>24581111idv2L361*nexpmove_livodf/a>(scunode=eparoins_3"5_movet,_ct (scunode=eparoins_3"5_move5"tryaliac>33L296">3anonaliacref=eidv2Lanonng">e cnexpmove_livod4/a>(st,_ct )v"65a9he.c#9949" id24"6o>2452L365ct 33L296">3spincunode=ect (st,_ct d_flode=ect )v"6610"sr>10"s6" id24"6h>2466ass=612ass=L10"62ref">d_94/2461>)v"66a9he.c#9961" id24"6 >24611111idv2L361*=s o_d"*m v2L308">3307doanonagcladcode=tstill ode=ed, r_CASTslode=edu*/a>4spa"669ass="10"6omment">9="2462>)v"66a9he.c#9812" id24"6h>24621111idv2L361*nexpmove_livodanonaliacref=eidv2Lanonng">agclasubdir sref">d_flflag3aliacref=eidv2Lflflag31111iery" = ~subdir sref">d_DCACHE_DISCONNECTEDect )v"66a8he.c#8763" id24"6l>246lass="612ass=L10"62ref">d_94/2464>)v"66a8he.c#8914" id24"6s>246lass=612ass=L10"62ref">d_94/2465>)v"66a9he.c#9915" id24"6v>246lass="(via knfsd) so  l54ew/**5">323"68lass=L10"6UG_ON4/a9ck2466>)v"66a9he.c#9916" id24"6s>246dv2L*edeiplice3aliac - iplic* d_materialise_uniqued-oirivoduco ayeeef"coirio LLnetreo unhas"58ne" na10"5try_unus9282467>)v"66a9he.c#9175" id24"6 >246lass="If"27dst4/aewac"found"* @dine" : candide=d dene" 5">323"68lass=L10"6UG_ON4/a9ck2468>)v"66a9he.c#9148" id24"6l>246lass= rsd""""""ed.  r b96mat* @eef"c:eeef"coto bind3to LLnedene" ,3to whichtalia3es may be1attON4/d5">323"68lass=L10"6UG_ON4/a9ck2469>)v"66a9he.c#9949" id24"6o>246lass=eft"oyedalled _prior_ 845">323"68lass=L10"6UG_ON4/a9ck247a>)v"6710"sr>10"s6" id24"6l>2475ass=eft"oyedalled _prior_ t*=Irivoduco3tly dene" dinio LLnetreo, substitutleddly extant disconnect/d5">323"68lass=L10"6UG_ON4/a9ck2471>)v"67a9he.c#9961" id24"6U>247lass= DCACHE_DISCONNECTED),e* root directo"y alia3tiyeets place_if LLnre 3s one. Caller must eoll LLn5">323"68lass=L10"6UG_ON4/a9ck2472>)v"67a9he.c#9812" id24"6h>247lass="with*a %NULL"@svot* icmutex_of LLneparoin directo"yo unhas"58ne" na10"5try_unus9282473>)v"67a8he.c#8763" id24"6t>247lass=*=s o_d"*m v2L308">33084/a>4spa"669ass="10"6omment">9="2474>)v"67a8he.c#8914" }624"6h>247lass=s3dentry_lru_move_list4/a>(struct (st,_ct dentry_lru_move_listeeo"c, 1chil;)v"67a9he.c#9915" id24"6v>2479352476>)v"67a9he.c#9916" ""24"6s>247"""4" class="">dentry_lru_move_list4/a>(struct )v"67a9he.>10"12" id24"6 >247lass=66ne" na10"6le syste9d42478>)v"67a9he.c class="l24"6l>24781111idv2L361*nexpmove_livodBUG_ONtruct 34/a>(st,_ct )v"67a9he.ct 2472L365669ass="10"6omment">9="248a>)v .>"68r9he.c#9208" id24"6>>24801111idv2L361ry" !*nexpmove_livodeeo"c, 1chil;9352481>)v"68a8he.c#8611" id24"6U>24811111idv2L361"f="+coicnexpmove_livodactualtruct (st,_ct )v2482L316ct 34/a>(st,_ct ""66ne" na10"6le syste9d42483>)v"58a8he.c#8543" id24"5t>248lass=idv2L322" classiy_lru_move_listd_reashref=ect )v"58a8he.c#v2L316"s24"5h>248lass=idv2L322" classigoLo subdir sref">d_out_noode=ect )v"58a9he.t 248d_94/2486>)v"58a9he.c#9916" st24"5s>248dv2L*612ass=L10"62ref">d_94/2487>)v"5878he.c#8763" id24"5 >24871111idv2L361*nexpmove_livodspincode=ect d_icode=ect )v"59a9he.c#9915" 24re">248lass=612ass=L10"62ref">d_94/24"9>)v"58a9he.ct 24891111idv2L361ry" subdir sref">d_S_ISDIRMBOtref=e" clasS_ISDIR5"tryy_lru_move_listeeo"c, 1chil;d_icmo"c, 1chil;935249a>)v"59v8he.c#8616" " 24"5s>2496a hress="srd_addry" ">dentry_lru_move_list4/a>(struct )v"59a9he.c#9961" id24"5U>2491L361669ass="10"6omment">9="2492>)v"5928he.c#8616" " 24"5h>2492L316ct 3307doDoo3tly alia3ed dene" dalready exist?84/a>4spa"669ass="10"6omment">9="2493>)v"59a8he.c#8763" id24"5t>249lass=idv2L322" classiy_lru_move_listalia3aliacref=eidv2Lalia3licend_cnexpmove_livod__d_find_alia3aliacref=eidv2L__d_find_alia35"tryy_lru_move_listeeo"c, 1chil;)v"5sa8he.il;249lass=idv2L322" classiry" cnexpmove_livodalia3aliacref=eidv2Lalia3lice"u"659ass="10"6omment">9352495>)v"59a9he.c#9915" " 24"53>249)v"5969he.c#9261" " 24"5s>249"""4" class="line" ERUG_ONry"cnexpmove_livodwri=dlseqode=ect )v"59a9he.c#9175" id24"53>249lass=66ne" na10"6le syste9d42498>)v249lass=t964/a>3333b1R12" classiry" cnexpmove_livod4_ancestorect 9352499>)v"5999he.c#9261" id24"5r>2492L365ct 3307doCheckd3"5dloopst*/a>4spa"669ass="10"6omment">9="25/a>)v)f>"5999he.c#9261" id25/a>>2506a hress="srd_addry" _addry" " classiy_lru_move_listactualtruct )v"59a9he.c#9961" id25/5U>25011111idv2L361"f="+coi_addry" " classiy_lru_move_listspincunode=ect d_icode=ect )v"5928he.c#8616" " 25/5h>2502L316ct 3alia3aliacref=eidv2Lalia3lice""u"659ass="10"6omment">93525/3>)v"59a8he.c#8763" id25/5t>250lass=idv2L322" classict 3307doIs LLisuayeanonymdusdmduinpoiinlthatown5">323"68lass=L10"6UG_ON4/a9ck25/4>)v"5sa8he.il;250lass="r b96s=7needed7inp feuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu* could4spliccoirio ouretreo?84/a>4spa"669ass="10"6omment">9="25/5>)v"59a9he.c#9915" " 25/53>250(st,_ct (slice3aliac>33L296">34/a>(st,_ct )v"5969he.c#9261" " 25/5s>250"""4" class="line" ERUG_ONry"" classiy_lru_move_listwri=dlsequnode=ect )v"59a9he.c#9175" id25/53>250o ass=" claine37"out__addry" " classiy_lru_move_list__d_droeect 3alia3aliacref=eidv2Lalia3lice""66ne" na10"6le syste9d425/8>)v250lass=t964/a>3333b1R12" classiiiiiiiiigoLo subdir sref">d_fduieect )v"5999he.c#9261" id25/5r>2502L365ct 935251a>)v"6110"sr>10"s6" id25"6s>2516a hress="srd_addry" _addry" " classiy=s o_d"*m v2L308">3307doNope, butown must(!) avoid*directo"ya>4spa"669ass="10"6omment">9="2511>)v"61a9he.c#9261" >125"6v>251lass= DCACHE_DISCONNECTED),eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee* alia3ing. TL3s droes1ref"cagclai_ode=t4/a>4spa"669ass="10"6omment">9="2512>)v"61a8he.ct 2512L316ct 33L296">34/a>(st,_ct )v"6139he.c#9261" i925"63>251lass=idv2L322" classict d_94/2514>)v"6149he.c#9261" id25"6s>251lass=idv2L322" classi" classiy_lru_move_listwri=dlsequnode=ect )v"61a9he.c#9915" " 25"6v>2519352516>)v"61a9he.c#9916" " 25"6 >251"""4" class="line" ERUG_ONry"" classiry" cnexpmove_livodPTR_sRRect 9352517>)v"6179he.c#9261" id25"6o>251o ass=" claine37"out_idv2L322" classi" classiy_lru_move_listpr_warn_ratelimi=deect 9352518>)v"6189he.c#9261" id25"6l>251lass=t964/a>3333b1R12" classiiiiiiiii" classi" classiyDCACHE_DISCOstring">"VFS: Lookup_of '%s'tiye%se%s"a>4spa"669ass="10"6omment">9="2519>)v"6199he.c#9261" id25"69>2512L365ct " would4havnecau3ed loop\n"a>4spa""669ass="10"6omment">9="252a>)v"62v8he.c#8616" " 25"6 >2526a hress="srd_addry" _addry" " classi" classi" classiyliac>33L296">34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lc"crdery"669ass="10"6omment">9="2521>)v"62a9he.c#9261" id25"6s>25211111idv2L361"f="+coi_addry" " classi" classi" classiyliac>33L296">3eeo"c, 1chil;d_icsbect d_s_typc, 1chil;d_c"cruct#9409" idv2Lc"crdery"669ass="10"6omment">9="2522>)v"62a9he.c#9122" id25"62>2522L316ct 33L296">3eeo"c, 1chil;d_icsbect d_s_ieect )v"6239he.c#9261" id25"63>252lass=idv2L322" classict d_fpunect 3alia3aliacref=eidv2Lalia3lice""66ne" na10"6le syste9d42524>)v"62a8he.il;252lass=idv2L322" classi" classi"612ass=L10"62ref">d_94/25"5>)v"62a9he.c#9915" ""25"6v>252d_out_noode=ect )vnr>"6269he.UGrrierhef25"6>>252"""4" class="line" ER"612ass=L10"62ref">d_94/25"7>)v"62a9he.cass=" cla25"6o>2527L365ct d_94/2528>)v"6289he.c#9915" " 25"6l>252lass=612ass=L10"62ref">d_94/2529>)v"62a9he.c#9949" id25"69>2522L365ct 3307doAdd a uniqueds=Lereccet4/a>4spa"669ass="10"6omment">9="253a>)v"63v8he.c#8616" " 25"6m>2530ass=idv2L322*nexpmove_livodactualtruct 33L296">34/a>(st,_ct )v"63a9he.c#9961" ""25"6s>25311111idv2L361ry" !*nexpmove_livodactualtruct )v"63a9he.>10"12" id25"6s>2532L316ct )v"63a8he." class="l25"62>2533L365ct )v"63a8he.il;253lass=idv2L322" classicnexpmove_livodBUG_ONtruct 3actualtruct )v"6310"s4>10"45" id25"6v>2535ass=66ne" na10"6le syste9d425"6>)v"6396">32964/a>33325"6r>2536ass=idv2L322cnexpmove_livodspincode=ect d_flode=ect )v"63a9he.c#9207" id25"6h>253lass="ubdir sref">d_fduieect )v"63a9he.c#9408" id25"6l>25381111idv2L361*nexpmove_livod_d_reashref=ect )v"63a9he.c#9409" id25"6o>2532L365ct 33L296">3spincunode=ect d_flode=ect )v"64r9he.c#9208" id25"6 >2540ass=idv2L322*nexpmove_livodspincunode=ect d_icode=ect )v"64a8he.c#8611" id25"6s>25411111subdir sref">d_out_noode=ect )v"64a8he.c#8642" id25"6 >25421111idv2L361ry" cnexpmove_livodactualtruct (st,_ct 9352543>)v"64a8he.c#8543" id25"6l>254lass=idv2L322" classiy_lru_move_listsecurity_d_instantiatet,_ct 33L296">34/a>(st,_ct )v"64a9he.c#9044" id25"6s>254lass=idv2L322" classiR_CAST_cnexpmove_livodNULLtruct "66ne" na10"6le syste9d42545>)v"6410"s4>10"45" id25"6v>254d_94/2546>)v"6496">32964/a>33325"6r>254dv2L*612ass=L10"62ref">d_94/2547>)v"64a9he.c#9207" id25"6h>25471111idv2L361*nexpmove_livodipunect 3eeo"c, 1chil;)v"6 a9he.c#9408" id25"6l>25481111idv2L361R_CAST_cnexpmove_livodactualtruct )v"6 a9he.c#9409" id25"6o>254lass="612ass=L10"62ref">d_94/255a>)v"65r9he.c#9208" id25"6r>25501111cnexpmove_livodEXPORT_SYMBOL_GPLtruct 33L296">34_materialise_uniquealiacref=eidv2Lflmaterialise_uniquelice""66ne" na10"6le syste9d42551>)v"65a8he.c#v2L316"s25"6 >2551L361669ass="10"6omment">9="2552>)v"6528he.t 2552a hrs3aERc iinly_lru_move_listpreped"truct d_c"crlenaliacref=eidv2Lc"crlendery"66ne" na10"6le syste9d42553>)v"65a8he.c#8763" id25"6l>255lass="659ass="10"6omment">9352554>)v"65a8he.il;255lass=idv2L322ly_lru_move_listbuflenaliacref=eidv2Lbuflendery -d_cnexpmove_livodc"crlenaliacref=eidv2Lc"crlendery"66ne" na10"6le syste9d42555>)v"65a9he.c#9915" " 25"6v>255)v"65a9he.c#9916" id25"6s>255"""4" class="line" ERR_CAST_-cnexpmove_livodENAMETOOLONGtruct )v"6578he.gt;2557ass=idv2L322ly_lru_move_listbufLertruct )v"6589he.c#9915" " 25"6l>25581111idv2L361*nexpmove_livodmemcpst,_ct d_c"crlenaliacref=eidv2Lc"crlendery""66ne" na10"6le syste9d42559>)v"65a9he.c#9949" id25"6o>2552L365ct )v"6610"sr>10"s6" id25"6h>2566ass="612ass=L10"62ref">d_94/2561>)v"66a9he.c#9961" id25"6 >2561L361669ass="10"6omment">9="2562>)v"66a9he.c#9812" id25"6h>2562a hrs3aERc iinly_lru_move_listpreped"lc"cruct#9409" idv2Lpreped"lc"crlice3char *ly_lru_move_listbufLertruct dentry_lru_move_listqstrtruct )v"66a8he.c#8763" id25"6l>256lass="659ass="10"6omment">9352564>)v"66a8he.c#8914" id25"6s>2564L365ct d_c"cruct#9409" idv2Lc"crdery" y_lru_move_listc"cruct#9409" idv2Lc"crderyagclasubdir sref">d_lenaliacref=eidv2Llendery""66ne" na10"6le syste9d42565>)v"66a9he.c#9915" id25"6v>256lass="612ass=L10"62ref">d_94/2566>)v"66a9he.c#9916" id25"6s>256dv2L*612ass=L10"62ref">d_94/2567>)v"66a9he.c#9175" id25"6 >256lass="If"27dst4/aewac"found/**5">323"68lass=L10"6UG_ON4/a9ck2568>)v"66a9he.c#9148" id25"6l>256lass= rsd""""""ed.  r b96mat* preped"lpath - Preped" path string3to a bufLerde>323"68lass=L10"6UG_ON4/a9ck2569>)v"66a9he.c#9949" id25"6o>256lass=eft"oyedalled _prior_ 84 @path: LLnedene" /vfsmduin3to reportde>323"68lass=L10"6UG_ON4/a9ck257a>)v"6710"sr>10"s6" id25"6l>2575ass=eft"oyedalled _prior_ t*=@root: root vfsmnt/dene" 5">323"68lass=L10"6UG_ON4/a9ck2571>)v"67a9he.c#9961" id25"6U>257lass= DCACHE_DISCONNECTED),e* @bufLer: poiiner3to LLneed" of LLnebufLerde>323"68lass=L10"6UG_ON4/a9ck2572>)v"67a9he.c#9812" id25"6h>257lass="with*a %NULL"@svot* @buflen: poiiner3to bufLer lengthde>323"68lass=L10"6UG_ON4/a9ck2573>)v"67a8he.c#8763" id25"6t>257lass=*=s o_d"*m v2L308">33084de>323"68lass=L10"6UG_ON4/a9ck2574>)v"67a8he.c#8914" }625"6h>257lass="r b96s=7needed7inp feul Caller eolls LLnerechilcode=o unhas"58ne" na10"5try_unus9282575>)v"67a9he.c#9915" id25"6v>257lass="(via knfsd) so  l54ewu*/a>4spa"669ass="10"6omment">9="2576>)v"67a9he.c#9916" ""25"6s>2576a hrs3aERc iinly_lru_move_listpreped"lpathuct#9409" idv2Lpreped"lpathlice3const ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"669ass="10"6omment">9="2577>)v"67a9he.>10"12" id25"6 >257o ass=" claine37"out_idv2L322const ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listrootuct#9409" idv2Lrootlice"669ass="10"6omment">9="2578>)v"67a9he.c class="l25"6l>257lass=t964/a>3333b1R12" classichar *ly_lru_move_listbufLertruct )v"67a9he.ct 2572L365"659ass="10"6omment">935258a>)v .>"68r9he.c#9208" id25"6>>25801111idv2L361s3dentry_lru_move_list4/a>(struct d_f/a>(st,_ct )v"68a8he.c#8611" id25"6U>25811111idv2L361s3dentry_lru_move_listvfsmduint,_ct d_mntt,_ct )v2582L316ct )v"58a8he.c#8543" id25"5t>2583L365ct 33L296">3booltruct )v"58a8he.c#v2L316"s25"5h>258lass=idv2L322iinly_lru_move_listerrorect )v"58a9he.t 2585ass=66ne" na10"6le syste9d42586>)v"58a9he.c#9916" st25"5s>2586ass=idv2L322cnexpmove_livodbr_readcode=ect )v"5878he.c#8763" id25"5 >25871111idv2L361while" cnexpmove_livod4/a>(st,_ct d_f/a>(st,_ct d_mntt,_ct 9352588>)v"59a9he.c#9915" 25re">258lass=t964/a>3333b1R12s3dentry_lru_move_list4/a>(struct )v"58a9he.ct 2582L365669ass="10"6omment">9="259a>)v"59v8he.c#8616" " 25"5s>2596a hress="srd_addry" ry" cnexpmove_livod4/a>(st,_ct d_mnt_rootuct#9409" idv2Lmnt_rootdery ||ry_lru_move_listIS_ROOTect 34/a>(st,_ct 9352591>)v"59a9he.c#9961" id25"5U>25911111idv2L361"f="+coi_addry" a=s o_d"*m v2L308">3307doGlobal root?84/a>4spa"669ass="10"6omment">9="2592>)v"5928he.c#8616" " 25"5h>2592L316ct 3mntt,_ct )v"59a8he.c#8763" id25"5t>259lass=idv2L322" classiiiiiiiiiiiiiiiiigoLo subdir sref">d_global_rootuct#9409" idv2Lglobal_rootdery"66ne" na10"6le syste9d42594>)v"5sa8he.il;259lass=idv2L322" classi_addry" a_lru_move_list4/a>(st,_ct d_mnt_mduinpoiinect )v"59a9he.c#9915" " 25"53>259d_mnt_paroinect )v"5969he.c#9261" " 25"5s>259"""4" class="line" ERUG_ONry"cnexpmove_livodvfsmntt,_ct d_mntt,_ct )v"59a9he.c#9175" id25"53>259o ass=" claine37"out_idv2L322continue"66ne" na10"6le syste9d42598>)v259lass=t964/a>3333b1R12"612ass=L10"62ref">d_94/2599>)v"5999he.c#9261" id25"5r>2592L365ct d_flparoinect )v)f>"5999he.c#9261" id26/a>>2606a hress="srd_addry" y_lru_move_listprefetchuct#9409" idv2Lprefetchlice3aliac>33L296">3paroinect )v"59a9he.c#9961" id26/5U>26011111idv2L361"f="+coiy_lru_move_listspincode=ect (st,_ct d_flode=ect )v"5928he.c#8616" " 26/5h>2602L316ct (st,_ct d_flc"cruct#9409" idv2Lflc"crderyc"66ne" na10"6le syste9d426/3>)v"59a8he.c#8763" id26/5t>260lass=idv2L322" classiy_lru_move_listspincunode=ect (st,_ct d_flode=ect )v"5sa8he.il;260lass=idv2L322" classiry" !*nexpmove_livoderrorect )v"59a9he.c#9915" " 26/53>260"/"a>4spa"" 1c"66ne" na10"6le syste9d426/6>)v"5969he.c#9261" " 26/5s>260"""4" class="line" ERry" cnexpmove_livoderrorect )v"59a9he.c#9175" id26/53>260o ass=" claine37"out__addry" break"66ne" na10"6le syste9d426/8>)v260lass=612ass=L10"62ref">d_94/26/9>)v"5999he.c#9261" id26/5r>2602L365ct )v"6110"sr>10"s6" id26"6s>2616a hress="srd_addry" y_lru_move_list4/a>(st,_ct )v"61a9he.c#9261" >126"6v>26111111idv2L361"612ass=L10"62ref">d_94/2612>)v"61a8he.ct 2612L316612ass=L10"62ref">d_94/2613>)v"6139he.c#9261" i926"63>26131111idv2L361ry" !*nexpmove_livoderrorect )v"6149he.c#9261" id26"6s>261lass=idv2L322" classiy_lru_move_listerrorect "/"a>4spa"" 1c"66ne" na10"6le syste9d42615>)v"61a9he.c#9915" " 26"6v>2615ass=66ne" na10"6le syste9d42616>)v"61a9he.c#9916" " 26"6 >261"""4"y_lru_move_listounect )v"6179he.c#9261" id26"6o>26171111idv2L361*nexpmove_livodbr_readcunode=ect )v"6189he.c#9261" id26"6l>26181111idv2L361R_CAST_cnexpmove_livoderrorect )v"6199he.c#9261" id26"69>2612L365669ass="10"6omment">9="262a>)v"62v8he.c#8616" " 26"6 >26201111cnexpmove_livodglobal_rootuct#9409" idv2Lglobal_rootdery:66ne" na10"6le syste9d42621>)v"62a9he.c#9261" id26"6s>26211111idv2L361*=s o_d"*m v2L308">3307da>4spa"669ass="10"6omment">9="2622>)v"62a9he.c#9122" id26"62>262lass="with*a %NULL"@svottttttttt* Filesystems needing3to impleL"@s special "root 122"s"a>4spa"669ass="10"6omment">9="2623>)v"6239he.c#9261" id26"63>262lass=*=s o_d"*m v2L308">3308tttttttt* should4do so with -gcladcd261"()a>4spa"669ass="10"6omment">9="2624>)v"62a8he.il;262lass="r b96s=7needed7inp feuuuuuuuuu4/a>4spa"669ass="10"6omment">9="26"5>)v"62a9he.c#9915" ""26"6v>26234/a>(st,_ct 9="26"6>)vnr>"6269he.UGrrierhef26"6>>262"""4" class="line3aliac>33L296">34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenaliacref=eidv2Llenderyn!d_1 ||ry_lru_move_list4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lc"crdery[0]n!d_cDCACHE_DISCOstring">'/'a>4spa""" "659ass="10"6omment">93526"7>)v"62a9he.cass=" cla26"6o>262o ass=" claine37"out_subdir sref">d_WARNtruct "Root dene" dhas weirdss="  <%.*sgcla\n"a>4spa""669ass="10"6omment">9="2628>)v"6289he.c#9915" " 26"6l>262lass=t964/a>3333b1R12" cla(int)ry_lru_move_list4/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_lenaliacref=eidv2Llendery, aliac>33L296">34/a>(st,_ct d_flc"cruct#9409" idv2Lflc"crdery.subdir sref">d_c"cruct#9409" idv2Lc"crdery""66ne" na10"6le syste9d42629>)v"62a9he.c#9949" id26"69>2622L365ct d_94/263a>)v"63v8he.c#8616" " 26"6m>26301111idv2L361ry" !*nexpmove_livodslshref=ect )v"63a9he.c#9961" ""26"6s>26311111idv2L361"f="+coiy_lru_move_listerrorect "/"a>4spa"" 1c"66ne" na10"6le syste9d42632>)v"63a9he.>10"12" id26"6s>2632L316ct )v"63a8he." class="l26"62>263lass=idv2L322" classiy_lru_move_listerrorect )v"63a8he.il;263lass=idv2L322goLo subdir sref">d_outect )v"6310"s4>10"45" id26"6v>263lass="612ass=L10"62ref">d_94/26"6>)v"6396">32964/a>33326"6r>263dv2L*612ass=L10"62ref">d_94/26"7>)v"63a9he.c#9207" id26"6h>263lass="If"27dst4/aewac"found/**5">323"68lass=L10"6UG_ON4/a9ck26"8>)v"63a9he.c#9408" id26"6l>263lass= rsd""""""ed.  r b96mat* __d_path - R_CAST_LLnepath of a dene" 5">323"68lass=L10"6UG_ON4/a9ck26"9>)v"63a9he.c#9409" id26"6o>263lass=eft"oyedalled _prior_ 84 @path: LLnedene" /vfsmduin3to reportde>323"68lass=L10"6UG_ON4/a9ck264a>)v"64r9he.c#9208" id26"6 >2645ass=eft"oyedalled _prior_ t*=@root: root vfsmnt/dene" 5">323"68lass=L10"6UG_ON4/a9ck2641>)v"64a8he.c#8611" id26"6s>264lass= DCACHE_DISCONNECTED),e* @buf: bufLer to reCAST_valucoir5">323"68lass=L10"6UG_ON4/a9ck2642>)v"64a8he.c#8642" id26"6 >264lass="with*a %NULL"@svot* @buflen: bufLer lengthde>323"68lass=L10"6UG_ON4/a9ck2643>)v"64a8he.c#8543" id26"6l>264lass=*=s o_d"*m v2L308">33084de>323"68lass=L10"6UG_ON4/a9ck2644>)v"64a9he.c#9044" id26"6s>264lass="r b96s=7needed7inp feul Convert a dene" oirio b96ASCIIepath 044"o unhas"58ne" na10"5try_unus9282645>)v"6410"s4>10"45" id26"6v>264lass="(via knfsd) so  l54ewu* unhas"58ne" na10"5try_unus9282646>)v"6496">32964/a>33326"6r>264dv2L*edeiplice3aliac - iplic* R_CASTsla poiiner3inio LLnebufLer ordly error f">d_if LLn unhas"58ne" na10"5try_unus9282647>)v"64a9he.c#9207" id26"6h>264lass="If"27dst4/aewac"found"* path was too longo unhas"58ne" na10"5try_unus9282648>)v"6 a9he.c#9408" id26"6l>264lass= rsd""""""ed.  r b96mat* unhas"58ne" na10"5try_unus9282649>)v"6 a9he.c#9409" id26"6o>264lass=eft"oyedalled _prior_ 84 "buflen" should4bnepositiv"o unhas"58ne" na10"5try_unus928265a>)v"65r9he.c#9208" id26"6r>2655ass=eft"oyedalled _prior_ t* unhas"58ne" na10"5try_unus9282651>)v"65a8he.c#v2L316"s26"6 >265lass= DCACHE_DISCONNECTED),e* If_LLnepath is not re_unable from_LLnesupplied root, reCAST_%NULLo unhas"58ne" na10"5try_unus9282652>)v"6528he.t 265lass="with*a %NULL"@svot*/a>4spa"669ass="10"6omment">9="2653>)v"65a8he.c#8763" id26"6l>265lass=char *y_lru_move_list__d_pathect dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"669ass="10"6omment">9="2654>)v"65a8he.il;265lass=idv2L322" classconst ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listrootuct#9409" idv2Lrootlice"669ass="10"6omment">9="2655>)v"65a9he.c#9915" " 26"6v>265)v"65a9he.c#9916" id26"6s>265"""4""659ass="10"6omment">9352657>)v"6578he.gt;2657ass=idv2L322char *y_lru_move_listre3aliacref=eidv2Lre3derynd_y_lru_move_listbufaliacref=eidv2Lbufdery +ly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42658>)v"6589he.c#9915" " 26"6l>26581111idv2L361iinly_lru_move_listerrorect )v"65a9he.c#9949" id26"6o>2652L365669ass="10"6omment">9="266a>)v"6610"sr>10"s6" id26"6h>2660ass=idv2L322*nexpmove_livodpreped"truct "\0"a>4spa"" 1c"66ne" na10"6le syste9d42661>)v"66a9he.c#9961" id26"6 >2661ass=idv2L322*nexpmove_livodwri=dlseqode=ect )v"66a9he.c#9812" id26"6h>2662ass=idv2L322*nexpmove_livoderrorect )v"66a8he.c#8763" id26"6l>2663L365ct 33L296">3wri=dlsequnode=ect )v"66a8he.c#8914" id26"6s>2664L36566ne" na10"6le syste9d42665>)v"66a9he.c#9915" id26"6v>266)v"66a9he.c#9916" id26"6s>266"""4" class="line" ERR_CAST_y_lru_move_listERR_PTRMBOtref=e" classRR_PTRlice3*nexpmove_livoderrorect )v"66a9he.c#9175" id26"6 >2667a hress="srdry" y_lru_move_listerrorect )v"66a9he.c#9148" id26"6l>266lass=t964/a>3333b1R12R_CAST_cnexpmove_livodNULLtruct "66ne" na10"6le syste9d42669>)v"66a9he.c#9949" id26"6o>2662L365ct )v"6710"sr>10"s6" id26"6l>2676ass="612ass=L10"62ref">d_94/2671>)v"67a9he.c#9961" id26"6U>2671L361669ass="10"6omment">9="2672>)v"67a9he.c#9812" id26"6h>267lass=char *y_lru_move_listd_absolu=dlpathuct#9409" idv2Ld_absolu=dlpathlice3const ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"669ass="10"6omment">9="2673>)v"67a8he.c#8763" id26"6t>267lass=idv2L322" classchar *y_lru_move_listbufaliacref=eidv2Lbufderye iinly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42674>)v"67a8he.c#8914" }626"6h>267lass="659ass="10"6omment">9352675>)v"67a9he.c#9915" id26"6v>267dentry_lru_move_listpathuct#9409" idv2Lpathlicelcnexpmove_livodrootuct#9409" idv2Lrootlicend_{}"66ne" na10"6le syste9d42676>)v"67a9he.c#9916" ""26"6s>267"""4" class="char *y_lru_move_listre3aliacref=eidv2Lre3derynd_y_lru_move_listbufaliacref=eidv2Lbufdery +ly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42677>)v"67a9he.>10"12" id26"6 >267o ass=" clainiinly_lru_move_listerrorect )v"67a9he.c class="l26"6l>267lass=612ass=L10"62ref">d_94/2679>)v"67a9he.ct 2672L365ct 33L296">3preped"truct "\0"a>4spa"" 1c"66ne" na10"6le syste9d4268a>)v .>"68r9he.c#9208" id26"6>>2680ass=idv2L322*nexpmove_livodwri=dlseqode=ect )v"68a8he.c#8611" id26"6U>2681ass=idv2L322*nexpmove_livoderrorect )v2682ass=idv2L322*nexpmove_livodwri=dlsequnode=ect )v"58a8he.c#8543" id26"5t>2683L36566ne" na10"6le syste9d42684>)v"58a8he.c#v2L316"s26"5h>268lass=idv2L322iy" y_lru_move_listerrorect )v"58a9he.t 268)v"58a9he.c#9916" st26"5s>2686ass=idv2L322ry" y_lru_move_listerrorect )v"5878he.c#8763" id26"5 >268o ass=" claine37"out_R_CAST_y_lru_move_listERR_PTRMBOtref=e" classRR_PTRlice3*nexpmove_livoderrorect )v"59a9he.c#9915" 26re">26881111idv2L361R_CAST_cnexpmove_livodre3aliacref=eidv2Lre3dery"66ne" na10"6le syste9d426"9>)v"58a9he.ct 268lass="612ass=L10"62ref">d_94/269a>)v"59v8he.c#8616" " 26"5s>2696a hr612ass=L10"62ref">d_94/2691>)v"59a9he.c#9961" id26"5U>269lass= DCACHE_DISCONNECTED),7da>4spa"669ass="10"6omment">9="2692>)v"5928he.c#8616" " 26"5h>269lass="with*a %NULL"@svot* s="  as __d_path butoapped"s "(deleted)" for unoinked fileso unhas"58ne" na10"5try_unus9282693>)v"59a8he.c#8763" id26"5t>269lass=*=s o_d"*m v2L308">33084/a>4spa"669ass="10"6omment">9="2694>)v"5sa8he.il;269lass=s3aERc iinly_lru_move_listpath_with_deleteduct#9409" idv2Lpath_with_deletedlice3const ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"669ass="10"6omment">9="2695>)v"59a9he.c#9915" " 26"53>269dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listrootuct#9409" idv2Lrootlice"669ass="10"6omment">9="2696>)v"5969he.c#9261" " 26"5s>269"""4" class="line" ERUG_ONry"ass="char *ly_lru_move_listbufaliacref=eidv2Lbufderye iinlly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42697>)v"59a9he.c#9175" id26"53>269o ass"659ass="10"6omment">9352698>)v269lass=t964/a>3aliac>33L296">3preped"truct "\0"a>4spa"" 1c"66ne" na10"6le syste9d42699>)v"5999he.c#9261" id26"5r>2692L365ct d_f/a>(st,_ct 93527/a>)v)f>"5999he.c#9261" id27/a>>2706a hress="srd_addry" iinly_lru_move_listerrorect 3preped"truct " (deleted)"a>4spa"" 10c"66ne" na10"6le syste9d427/1>)v"59a9he.c#9961" id27/5U>27011111idv2L361"f="+coiry" cnexpmove_livoderrorect )v"5928he.c#8616" " 27/5h>2702L316ct )v"59a8he.c#8763" id27/5t>270lass=idv2L322"612ass=L10"62ref">d_94/27/4>)v"5sa8he.il;2704L36566ne" na10"6le syste9d427/5>)v"59a9he.c#9915" " 27/53>270)v"5969he.c#9261" " 27/5s>270"""4""612ass=L10"62ref">d_94/27/7>)v"59a9he.c#9175" id27/53>270o ass612ass=L10"62ref">d_94/27/8>)v270lass=s3aERc iinly_lru_move_listpreped"lunre_unableuct#9409" idv2Lpreped"lunre_unablelice3char *ly_lru_move_listbufLertruct )v"5999he.c#9261" id27/5r>2702L365"659ass="10"6omment">935271a>)v"6110"sr>10"s6" id27"6s>2716a hress="srdR_CAST_y_lru_move_listpreped"truct "(unre_unable)"a>4spa"" 13c"66ne" na10"6le syste9d42711>)v"61a9he.c#9261" >127"6v>27111111"612ass=L10"62ref">d_94/2712>)v"61a8he.ct 2712L316612ass=L10"62ref">d_94/2713>)v"6139he.c#9261" i927"63>271lass=*=s o_d"*m v2L308">330/**5">323"68lass=L10"6UG_ON4/a9ck2714>)v"6149he.c#9261" id27"6s>271lass="r b96s=7needed7inp feul d_path - R_CAST_LLnepath of a dene" 5">323"68lass=L10"6UG_ON4/a9ck2715>)v"61a9he.c#9915" " 27"6v>271lass="(via knfsd) so  l54ewu* @path: path to reportde>323"68lass=L10"6UG_ON4/a9ck2716>)v"61a9he.c#9916" " 27"6 >271dv2L*edeiplice3aliac - iplic* @buf: bufLer to reCAST_valucoir5">323"68lass=L10"6UG_ON4/a9ck2717>)v"6179he.c#9261" id27"6o>271lass="If"27dst4/aewac"found"* @buflen: bufLer lengthde>323"68lass=L10"6UG_ON4/a9ck2718>)v"6189he.c#9261" id27"6l>271lass= rsd""""""ed.  r b96mat* unhas"58ne" na10"5try_unus9282719>)v"6199he.c#9261" id27"69>271lass=eft"oyedalled _prior_ 84 Convert a dene" oirio b96ASCIIepath 044"o If_LLneene" dhas been deletedlinhas"58ne" na10"5try_unus928272a>)v"62v8he.c#8616" " 27"6 >2725ass=eft"oyedalled _prior_ t*=LLnestring3" (deleted)" is apped"ed. Note=LLat=LLis is ambiguouso unhas"58ne" na10"5try_unus9282721>)v"62a9he.c#9261" id27"6s>272lass= DCACHE_DISCONNECTED),e* unhas"58ne" na10"5try_unus9282722>)v"62a9he.c#9122" id27"62>272lass="with*a %NULL"@svot* R_CASTsla poiiner3inio LLnebufLer ordly error f">d_if LLn path was unhas"58ne" na10"5try_unus9282723>)v"6239he.c#9261" id27"63>272lass=*=s o_d"*m v2L308">3308* too longo Note: Callers should4use LLnereCASTed poiiner, not LLn passedlinhas"58ne" na10"5try_unus9282724>)v"62a8he.il;272lass="r b96s=7needed7inp feu*3inebufLer, to use LLne323"68lass=L10"6UG_ON4/a9ck27"5>)v"62a9he.c#9915" ""27"6v>272lass="(via knfsd) so  l54ewu* inio LLnebufLer,dlyd may leave 0 byteslatdLLnestarto unhas"58ne" na10"5try_unus9282726>)vnr>"6269he.UGrrierhef27"6>>272dv2L*edeiplice3aliac - iplic* unhas"58ne" na10"5try_unus9282727>)v"62a9he.cass=" cla27"6o>272lass="If"27dst4/aewac"found"* "buflen" should4bnepositiv"o unhas"58ne" na10"5try_unus9282728>)v"6289he.c#9915" " 27"6l>272lass= rsd""""""ed.  r b96mat*/a>4spa"669ass="10"6omment">9="2729>)v"62a9he.c#9949" id27"69>2722L365char *y_lru_move_listd_pathuct#9409" idv2Ld_pathlice3const ">dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"schar *y_lru_move_listbufaliacref=eidv2Lbufderye iinly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d4273a>)v"63v8he.c#8616" " 27"6m>27301111"659ass="10"6omment">9352731>)v"63a9he.c#9961" ""27"6s>27311111idv2L361char *y_lru_move_listre3aliacref=eidv2Lre3derynd_y_lru_move_listbufaliacref=eidv2Lbufdery +ly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42732>)v"63a9he.>10"12" id27"6s>2732L316ct dentry_lru_move_listpathuct#9409" idv2Lpathlicelcnexpmove_livodrootuct#9409" idv2Lrootlice"66ne" na10"6le syste9d42733>)v"63a8he." class="l27"62>273lass=idv2L322iinly_lru_move_listerrorect )v"63a8he.il;2734L36566ne" na10"6le syste9d42735>)v"6310"s4>10"45" id27"6v>2739="27"6>)v"6396">32964/a>33327"6r>273dv2L*edeiplice3aliac - ipliccccccccc* Wedhave various synLLnERc filesystems LLat=never get mduinee.  Or5">323"68lass=L10"6UG_ON4/a9ck27"7>)v"63a9he.c#9207" id27"6h>273lass="If"27dst4/aewac"foundccccccccc* LLnse filesystems dene"ieslare=never used for lookup purposes,dlyd5">323"68lass=L10"6UG_ON4/a9ck27"8>)v"63a9he.c#9408" id27"6l>273lass= rsd""""""ed.  r b96matcccccccc* LLus don't need3to bedhashee.  TLny also don't need3ass="  uinil a5">323"68lass=L10"6UG_ON4/a9ck27"9>)v"63a9he.c#9409" id27"6o>273lass=eft"oyedalled _prior_ 8cccccccc* user wants3to ideneifydLLneobjentrine/proc/pid/fd/.  TLn littledhae=de>323"68lass=L10"6UG_ON4/a9ck274a>)v"64r9he.c#9208" id27"6 >2745ass=eft"oyedalled _prior_ tcccccccc* below allows us3to generate=ass="  for LLnse objents on demlyd:de>323"68lass=L10"6UG_ON4/a9ck2741>)v"64a8he.c#8611" id27"6s>274lass= DCACHE_DISCONNECTED),ecccccccc*/a>4spa"669ass="10"6omment">9="2742>)v"64a8he.c#8642" id27"6 >2742L316ct d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderynery" ery"  y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderyagclasubdir sref">d_fld261"uct#9409" idv2Ld_d261"dery"66ne" na10"6le syste9d42743>)v"64a8he.c#8543" id27"6l>274lass=idv2L322" classiR_CAST_y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderyagclasubdir sref">d_fld261"uct#9409" idv2Ld_d261"dery y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct )v"64a9he.c#9044" id27"6s>2744L36566ne" na10"6le syste9d42745>)v"6410"s4>10"45" id27"6v>274d_f3aliacref=eidv2Lf3derye ery" cnexpmove_livodrootuct#9409" idv2Lrootlicec"66ne" na10"6le syste9d42746>)v"6496">32964/a>33327"6r>2746ass=idv2L322cnexpmove_livodwri=dlseqode=ect )v"64a9he.c#9207" id27"6h>27471111idv2L361*nexpmove_livoderrorect 3path_with_deleteduct#9409" idv2Lpath_with_deletedlice3y_lru_move_listpathuct#9409" idv2Lpathlice"sery" cnexpmove_livodrootuct#9409" idv2Lrootlicee ery" cnexpmove_livodre3aliacref=eidv2Lre3derye ery" cnexpmove_livodbuflenaliacref=eidv2Lbuflenderyc"66ne" na10"6le syste9d42748>)v"6 a9he.c#9408" id27"6l>27481111idv2L361iy" y_lru_move_listerrorect )v"6 a9he.c#9409" id27"6o>2742L365ct )v"65r9he.c#9208" id27"6r>2750ass=idv2L322*nexpmove_livodwri=dlsequnode=ect )v"65a8he.c#v2L316"s27"6 >2751ass=idv2L322*nexpmove_livodpath_putect )v"6528he.t 2752L316ct )v"65a8he.c#8763" id27"6l>275lass="612ass=L10"62ref">d_94/2754>)v"65a8he.il;275lass=y_lru_move_listEXPORT_SYMBOLtruct )v"65a9he.c#9915" " 27"6v>2755ass=66ne" na10"6le syste9d42756>)v"65a9he.c#9916" id27"6s>275dv2L*edeiplice3aliac - ipli/**5">323"68lass=L10"6UG_ON4/a9ck2757>)v"6578he.gt;275lass="If"27dst4/aewac"found"* d_path_with_unre_unable - R_CAST_LLnepath of a dene" 5">323"68lass=L10"6UG_ON4/a9ck2758>)v"6589he.c#9915" " 27"6l>275lass= rsd""""""ed.  r b96mat* @path: path to reportde>323"68lass=L10"6UG_ON4/a9ck2759>)v"65a9he.c#9949" id27"6o>275lass=eft"oyedalled _prior_ 84 @buf: bufLer to reCAST_valucoir5">323"68lass=L10"6UG_ON4/a9ck276a>)v"6610"sr>10"s6" id27"6h>2765ass=eft"oyedalled _prior_ t*=@buflen: bufLer lengthde>323"68lass=L10"6UG_ON4/a9ck2761>)v"66a9he.c#9961" id27"6 >276lass= DCACHE_DISCONNECTED),e* unhas"58ne" na10"5try_unus9282762>)v"66a9he.c#9812" id27"6h>276lass="with*a %NULL"@svot* TLn difLerence from_d_path() is LLat=LLis preped"s "(unre_unable)"a>4spa"58ne" na10"5try_unus9282763>)v"66a8he.c#8763" id27"6l>276lass=*=s o_d"*m v2L308">3308* to paths1whichlare=unre_unable from_LLnecurroin process' rooto unhas"58ne" na10"5try_unus9282764>)v"66a8he.c#8914" id27"6s>276lass="r b96s=7needed7inp feu*/a>4spa"669ass="10"6omment">9="2765>)v"66a9he.c#9915" id27"6v>276dentry_lru_move_listpathuct#9409" idv2Lpathlicelly_lru_move_listpathuct#9409" idv2Lpathlice"schar *y_lru_move_listbufaliacref=eidv2Lbufderye iinly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42766>)v"66a9he.c#9916" id27"6s>276"""4""659ass="10"6omment">9352767>)v"66a9he.c#9175" id27"6 >2767ass=idv2L322char *y_lru_move_listre3aliacref=eidv2Lre3derynd_y_lru_move_listbufaliacref=eidv2Lbufdery +ly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42768>)v"66a9he.c#9148" id27"6l>276lass=t964/a>3">dentry_lru_move_listpathuct#9409" idv2Lpathlicelcnexpmove_livodrootuct#9409" idv2Lrootlice"66ne" na10"6le syste9d42769>)v"66a9he.c#9949" id27"6o>2762L365ct )v"6710"sr>10"s6" id27"6l>2776a hr612ass=L10"62ref">d_94/2771>)v"67a9he.c#9961" id27"6U>2771ass=idv2L322ry" y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderynery" ery"  y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderyagclasubdir sref">d_fld261"uct#9409" idv2Ld_d261"dery"66ne" na10"6le syste9d42772>)v"67a9he.c#9812" id27"6h>2772L316ct d_f/a>(st,_ct d_flopuct#9409" idv2Ld_opderyagclasubdir sref">d_fld261"uct#9409" idv2Ld_d261"dery y_lru_move_listpathuct#9409" idv2Lpathliceagclasubdir sref">d_f/a>(st,_ct )v"67a8he.c#8763" id27"6t>2773L36566ne" na10"6le syste9d42774>)v"67a8he.c#8914" }627"6h>277lass=idv2L322 nexpmove_livodget_fs_rootuct#9409" idv2Lget_fs_rootdery y_lru_move_listcurroinect d_f3aliacref=eidv2Lf3derye ery" cnexpmove_livodrootuct#9409" idv2Lrootlicec"66ne" na10"6le syste9d42775>)v"67a9he.c#9915" id27"6v>277)v"67a9he.c#9916" ""27"6s>2776ass=idv2L322cnexpmove_livoderrorect 3path_with_deleteduct#9409" idv2Lpath_with_deletedlice3y_lru_move_listpathuct#9409" idv2Lpathlice"sery" cnexpmove_livodrootuct#9409" idv2Lrootlicee ery" cnexpmove_livodre3aliacref=eidv2Lre3derye ery" cnexpmove_livodbuflenaliacref=eidv2Lbuflenderyc"66ne" na10"6le syste9d42777>)v"67a9he.>10"12" id27"6 >2777a hress="srdry" y_lru_move_listerrorect )v"67a9he.c class="l27"6l>277lass=t964/a>3333b1R12cnexpmove_livoderrorect 3preped"lunre_unableuct#9409" idv2Lpreped"lunre_unablelice3ery" cnexpmove_livodre3aliacref=eidv2Lre3derye ery" cnexpmove_livodbuflenaliacref=eidv2Lbuflenderyc"66ne" na10"6le syste9d42779>)v"67a9he.ct 2772L365ct 33L296">3wri=dlsequnode=ect )v .>"68r9he.c#9208" id27"6>>2780ass=idv2L322*nexpmove_livodpath_putect )v"68a8he.c#8611" id27"6U>2781ass=idv2L322ry" y_lru_move_listerrorect )v2782L316ct )v"58a8he.c#8543" id27"5t>2783L36566ne" na10"6le syste9d42784>)v"58a8he.c#v2L316"s27"5h>278lass=idv2L322R_CAST_cnexpmove_livodre3aliacref=eidv2Lre3dery"66ne" na10"6le syste9d42785>)v"58a9he.t 278lass="612ass=L10"62ref">d_94/2786>)v"58a9he.c#9916" st27"5s>278dv2L*612ass=L10"62ref">d_94/2787>)v"5878he.c#8763" id27"5 >278lass="If"27dst4/aewac"found/*a>4spa"669ass="10"6omment">9="2788>)v"59a9he.c#9915" 27re">278lass= rsd""""""ed.  r b96mat* Helper funcERon for "srivo_operatRons.dcd261"() members unhas"58ne" na10"5try_unus92827"9>)v"58a9he.ct 278lass=eft"oyedalled _prior_ 84/a>4spa"669ass="10"6omment">9="279a>)v"59v8he.c#8616" " 27"5s>2796a hrchar *y_lru_move_listdy616icld261"uct#9409" idv2Ldy616icld261"lice3">dentry_lru_move_list4/a>(st,_ct 9="2791>)v"59a9he.c#9961" id27"5U>27911111idv2L361"f="+coiiiiiiiiiconst char *y_lru_move_listfmtuct#9409" idv2Lfmtderye ..."66ne" na10"6le syste9d42792>)v"5928he.c#8616" " 27"5h>279lass="659ass="10"6omment">9352793>)v"59a8he.c#8763" id27"5t>2793L365ct 33L296">3va_listt,_ct )v"5sa8he.il;279lass=idv2L322char cnexpmove_livodtempuct#9409" idv2Ltempass=[64]"66ne" na10"6le syste9d42795>)v"59a9he.c#9915" " 27"53>279)v"5969he.c#9261" " 27"5s>279dv2L*612ass=L10"62ref">d_94/2797>)v"59a9he.c#9175" id27"53>27971111idv2L361*nexpmove_livodva_startt,_ct )v279lass=t964/a>3aliac>33L296">3szuct#9409" idv2Lszderynd_aliac>33L296">3vsnpriinfaliacref=eidv2Lvsnpriinflice3*nexpmove_livodtempuct#9409" idv2Ltempass=, sizeof3*nexpmove_livodtempuct#9409" idv2Ltempass=)e cnexpmove_livodfmtuct#9409" idv2Lfmtderye cnexpmove_livodarg3aliacref=eidv2Larg3dery) + 1"66ne" na10"6le syste9d42799>)v"5999he.c#9261" id27"5r>2792L365ct 33L296">3va_ed"truct )v)f>"5999he.c#9261" id28/a>>2806a hr612ass=L10"62ref">d_94/28/1>)v"59a9he.c#9961" id28/5U>2801ass=idv2L322ry" y_lru_move_listszuct#9409" idv2Lszderynegt; sizeof3*nexpmove_livodtempuct#9409" idv2Ltempass=) ||ry_lru_move_listszuct#9409" idv2Lszderynegt; y_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d428/2>)v"5928he.c#8616" " 28/5h>2802L316ct )v"59a8he.c#8763" id28/5t>2803L36566ne" na10"6le syste9d428/4>)v"5sa8he.il;280lass=idv2L322 nexpmove_livodbufLertruct )v"59a9he.c#9915" " 28/53>280)v"5969he.c#9261" " 28/5s>280"""4""612ass=L10"62ref">d_94/28/7>)v"59a9he.c#9175" id28/53>280o ass612ass=L10"62ref">d_94/28/8>)v280lass= rsd""""""ed.  r b96ma/*a>4spa"669ass="10"6omment">9="28/9>)v"5999he.c#9261" id28/5r>280lass=eft"oyedalled _prior_ 84 Wri=d full paths="  from_LLneroot of LLn filesystem inio LLnebufLero unhas"58ne" na10"5try_unus928281a>)v"6110"sr>10"s6" id28"6s>2815ass=eft"oyedalled _prior_ t*/a>4spa"669ass="10"6omment">9="2811>)v"61a9he.c#9261" >128"6v>28111111s3aERc char *y_lru_move_list__dsrivo_pathect dentry_lru_move_list4/a>(st,_ct )v"61a8he.ct 281lass="659ass="10"6omment">9352813>)v"6139he.c#9261" i928"63>2813L365ct )v"6149he.c#9261" id28"6s>281lass=idv2L322char *y_lru_move_listretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d42815>)v"61a9he.c#9915" " 28"6v>2815ass=66ne" na10"6le syste9d42816>)v"61a9he.c#9916" " 28"6 >2816ass=idv2L322cnexpmove_livodpreped"truct "\0"a>4spa"" 1c"66ne" na10"6le syste9d42817>)v"6179he.c#9261" id28"6o>2817a hress="srdry" y_lru_move_listbuflenaliacref=eidv2Lbuflendery elt; 1"66ne" na10"6le syste9d42818>)v"6189he.c#9261" id28"6l>281lass=t964/a>3333b1R12goLo subdir sref">d_ElongMBOtref=e" classlongdery"66ne" na10"6le syste9d42819>)v"6199he.c#9261" id28"69>2812L365ct 4spa"669ass="10"6omment">9="282a>)v"62v8he.c#8616" " 28"6 >2820ass=idv2L322*nexpmove_livodretvalaliacref=eidv2Lretvalderynd_y_lru_move_listed"truct )v"62a9he.c#9261" id28"6s>2821ass=idv2L322*y_lru_move_listretvalaliacref=eidv2Lretvalderynd_yDCACHE_DISCOstring">'/'a>4spa""66ne" na10"6le syste9d42822>)v"62a9he.c#9122" id28"62>2822L316612ass=L10"62ref">d_94/2823>)v"6239he.c#9261" id28"63>2823L365ct (st,_ct 9352824>)v"62a8he.il;282lass=idv2L322" class3">dentry_lru_move_list4/a>(st,_ct (st,_ct d_flparoinect )v"62a9he.c#9915" ""28"6v>282)vnr>"6269he.UGrrierhef28"6>>282dv2L*612ass=L10"62ref">d_94/2827>)v"62a9he.cass=" cla28"6o>282o ass=" claine37"out_cnexpmove_livodprefetchuct#9409" idv2Lprefetchlice3y_lru_move_listparoinect )v"6289he.c#9915" " 28"6l>282lass=t964/a>3333b1R12cnexpmove_livodspincode=ect (st,_ct d_flode=ect )v"62a9he.c#9949" id28"69>2822L365ct 3preped"l261"uct#9409" idv2Lpreped"l261"lice3ery" cnexpmove_livoded"truct (st,_ct d_fl261"uct#9409" idv2Ld_261"dery""66ne" na10"6le syste9d4283a>)v"63v8he.c#8616" " 28"6m>2836a hress="srd_addry" cnexpmove_livodspincunode=ect (st,_ct d_flode=ect )v"63a9he.c#9961" ""28"6s>28311111idv2L361"f="+coiry" cnexpmove_livoderrorect "/"a>4spa"" 1c != 0"66ne" na10"6le syste9d42832>)v"63a9he.>10"12" id28"6s>2832L316ct d_ElongMBOtref=e" classlongdery"66ne" na10"6le syste9d42833>)v"63a8he." class="l28"62>2833L36566ne" na10"6le syste9d42834>)v"63a8he.il;283lass=idv2L322" class3*nexpmove_livodretvalaliacref=eidv2Lretvalderynd_y_lru_move_listed"truct )v"6310"s4>10"45" id28"6v>283(st,_ct 3paroinect )v"6396">32964/a>33328"6r>2836ass=idv2L322"612ass=L10"62ref">d_94/28"7>)v"63a9he.c#9207" id28"6h>283o ass=" clainR_CAST_cnexpmove_livodretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d428"8>)v"63a9he.c#9408" id28"6l>283lass= ubdir sref">d_ElongMBOtref=e" classlongdery:66ne" na10"6le syste9d428"9>)v"63a9he.c#9409" id28"6o>2832L365ct )v"64r9he.c#9208" id28"6 >2846ass="612ass=L10"62ref">d_94/2841>)v"64a8he.c#8611" id28"6s>2841L361669ass="10"6omment">9="2842>)v"64a8he.c#8642" id28"6 >284lass=char *y_lru_move_listdsrivo_path_rawt,_ct dentry_lru_move_list4/a>(st,_ct )v"64a8he.c#8543" id28"6l>284lass="659ass="10"6omment">9352844>)v"64a9he.c#9044" id28"6s>284lass=idv2L322char *y_lru_move_listretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d42845>)v"6410"s4>10"45" id28"6v>2845ass=66ne" na10"6le syste9d42846>)v"6496">32964/a>33328"6r>2846ass=idv2L322cnexpmove_livodwri=dlseqode=ect )v"64a9he.c#9207" id28"6h>28471111idv2L361*nexpmove_livodretvalaliacref=eidv2Lretvalderynd_y_lru_move_list__dsrivo_pathect )v"6 a9he.c#9408" id28"6l>284lass=t964/a>3aliac>33L296">3wri=dlsequnode=ect )v"6 a9he.c#9409" id28"6o>2842L36566ne" na10"6le syste9d4285a>)v"65r9he.c#9208" id28"6r>2856a hress="srdR_CAST_y_lru_move_listretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d42851>)v"65a8he.c#v2L316"s28"6 >28511111"612ass=L10"62ref">d_94/2852>)v"6528he.t 2852L316cnexpmove_livodEXPORT_SYMBOLtruct )v"65a8he.c#8763" id28"6l>2853L36566ne" na10"6le syste9d42854>)v"65a8he.il;285lass=char *y_lru_move_listdsrivo_patht,_ct dentry_lru_move_list4/a>(st,_ct )v"65a9he.c#9915" " 28"6v>2855ass="659ass="10"6omment">9352856>)v"65a9he.c#9916" id28"6s>285"""4" class="char *y_lru_move_listpuct#9409" idv2Lpderynd_y_lru_move_listNULLtruct "66ne" na10"6le syste9d42857>)v"6578he.gt;2857ass=idv2L322char *y_lru_move_listretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d42858>)v"6589he.c#9915" " 28"6l>285lass=612ass=L10"62ref">d_94/2859>)v"65a9he.c#9949" id28"6o>2852L365ct 33L296">3wri=dlseqode=ect )v"6610"sr>10"s6" id28"6h>2866a hress="srdry" cnexpmove_livod4_unoinkeduct#9409" idv2Ld_unoinkedlice3y_lru_move_listf/a>(st,_ct 9352861>)v"66a9he.c#9961" id28"6 >28611111idv2L361"f="+coiy_lru_move_listpuct#9409" idv2Lpderynd_y_lru_move_listbufaliacref=eidv2Lbufdery +ly_lru_move_listbuflenaliacref=eidv2Lbuflendery"66ne" na10"6le syste9d42862>)v"66a9he.c#9812" id28"6h>2862L316ct "//deleted"a>4spa"" 10c != 0"66ne" na10"6le syste9d42863>)v"66a8he.c#8763" id28"6l>286lass=idv2L322" classiiiiiiiiigoLo subdir sref">d_ElongMBOtref=e" classlongdery"66ne" na10"6le syste9d42864>)v"66a8he.c#8914" id28"6s>286lass=idv2L322" class3*nexpmove_livodbuflenaliacref=eidv2Lbuflendery++"66ne" na10"6le syste9d42865>)v"66a9he.c#9915" id28"6v>286d_94/2866>)v"66a9he.c#9916" id28"6s>2866ass=idv2L322cnexpmove_livodretvalaliacref=eidv2Lretvalderynd_y_lru_move_list__dsrivo_pathect )v"66a9he.c#9175" id28"6 >28671111idv2L361*nexpmove_livodwri=dlsequnode=ect )v"66a9he.c#9148" id28"6l>28681111idv2L361iy" !*nexpmove_livodIS_ERRMBOtref=e" clasIS_ERRlice3y_lru_move_listretvalaliacref=eidv2Lretvaldery)nery" ery"  y_lru_move_listpuct#9409" idv2Lpdery"66ne" na10"6le syste9d42869>)v"66a9he.c#9949" id28"6o>2862L365ct '/'a>4spa""dv2L361*rsd""""""ed.  r b96ma/* restore '/' overriden with '\0' */a>4spa"669ass="10"6omment">9="287a>)v"6710"sr>10"s6" id28"6l>2876a hress="srdR_CAST_y_lru_move_listretvalaliacref=eidv2Lretvaldery"66ne" na10"6le syste9d42871>)v"67a9he.c#9961" id28"6U>2871ass= ubdir sref">d_ElongMBOtref=e" classlongdery:66ne" na10"6le syste9d42872>)v"67a9he.c#9812" id28"6h>2872L316ct )v"67a8he.c#8763" id28"6t>287lass="612ass=L10"62ref">d_94/2874>)v"67a8he.c#8914" }628"6h>2874L36566ne" na10"6le syste9d42875>)v"67a9he.c#9915" id28"6v>287lass="(via knfsd) so  l54ew/*a>4spa"669ass="10"6omment">9="2876>)v"67a9he.c#9916" ""28"6s>287dv2L*edeiplice3aliac - iplic* NOTE! TLneuser-level library versRon r_CASTslaa>4spa"669ass="10"6omment">9="2877>)v"67a9he.>10"12" id28"6 >287lass="If"27dst4/aewac"found"* characner3poiiner. TLnekernel system call justde>323"68lass=L10"6UG_ON4/a9ck2878>)v"67a9he.c class="l28"6l>287lass= rsd""""""ed.  r b96mat* r_CASTslLLnelength of LLn bufLer filled (whichde>323"68lass=L10"6UG_ON4/a9ck2879>)v"67a9he.ct 287lass=eft"oyedalled _prior_ 84 includes_LLneending3'\0' characner), ordl negativ"de>323"68lass=L10"6UG_ON4/a9ck288a>)v .>"68r9he.c#9208" id28"6>>2885ass=eft"oyedalled _prior_ t*=error valuc. So libc would4do something3lik"de>323"68lass=L10"6UG_ON4/a9ck2881>)v"68a8he.c#8611" id28"6U>288lass= DCACHE_DISCONNECTED),e* unhas"58ne" na10"5try_unus9282882>)v288lass="with*a %NULL"@svot*      char *getcwd3char * buf, size_t size) unhas"58ne" na10"5try_unus9282883>)v"58a8he.c#8543" id28"5t>288lass=*=s o_d"*m v2L308">3308*      { unhas"58ne" na10"5try_unus9282884>)v"58a8he.c#v2L316"s28"5h>288lass="r b96s=7needed7inp feu*3)v"58a9he.t 288lass="(via knfsd) so  l54ewu*a>4spa"58ne" na10"5try_unus9282886>)v"58a9he.c#9916" st28"5s>288dv2L*edeiplice3aliac - iplic*              retvalnd_sys_getcwd3buf, size);a>4spa"58ne" na10"5try_unus9282887>)v"5878he.c#8763" id28"5 >288lass="If"27dst4/aewac"foundu*34spa"58ne" na10"5try_unus9282888>)v"59a9he.c#9915" 28re">288lass= rsd""""""ed.  r b96mat*                      R_CAST_buf;a>4spa"58ne" na10"5try_unus9282889>)v"58a9he.ct 288lass=eft"oyedalled _prior_ 84              errnond_-retval;a>4spa"58ne" na10"5try_unus928289a>)v"59v8he.c#8616" " 28"5s>2895ass=eft"oyedalled _prior_ t*=             R_CAST_NULL;a>4spa"58ne" na10"5try_unus9282891>)v"59a9he.c#9961" id28"5U>289lass= DCACHE_DISCONNECTED),e*      }a>4spa"58ne" na10"5try_unus9282892>)v"5928he.c#8616" " 28"5h>289lass="with*a %NULL"@svot*/a>4spa"669ass="10"6omment">9="2893>)v"59a8he.c#8763" id28"5t>2893L365cnexpmove_livodSYSCALL_DEFINE2MBOtref=e" clasSYSCALL_DEFINE2lice3y_lru_move_listgetcwdMBOtref=e" clasgetcwdderye char y_lru_move_list__userect )v"5sa8he.il;289lass="659ass="10"6omment">9352895>)v"59a9he.c#9915" " 28"53>289)v"5969he.c#9261" " 28"5s>2896ass=idv2L322">dentry_lru_move_listpathuct#9409" idv2Lpathlicelcnexpmove_livodpwdMBOtref=e" claspwdderye y_lru_move_listrootuct#9409" idv2Lrootlice"66ne" na10"6le syste9d42897>)v"59a9he.c#9175" id28"53>2897ass=idv2L322char *y_lru_move_listpag"uct#9409" idv2Lpag"derynd_3char *) y_lru_move_list__get_free_pag"uct#9409" idv2L__get_free_pag"lice3y_lru_move_listGFP_USERMBOtref=e" clasGFP_USERdery""66ne" na10"6le syste9d42898>)v289lass=612ass=L10"62ref">d_94/2899>)v"5999he.c#9261" id28"5r>2892L365ct )v)f>"5999he.c#9261" id29/a>>2906a hress="srd_addry" R_CAST_-cnexpmove_livodENOMEMMBOtref=e" classNOMEMlice"66ne" na10"6le syste9d429/1>)v"59a9he.c#9961" id29/5U>2901L361669ass="10"6omment">9="29/2>)v"5928he.c#8616" " 29/5h>2902L316ct d_f3aliacref=eidv2Lf3derye ery" cnexpmove_livodrootuct#9409" idv2Lrootlicee ery" cnexpmove_livodpwdMBOtref=e" claspwddery""66ne" na10"6le syste9d429/3>)v"59a8he.c#8763" id29/5t>2903L36566ne" na10"6le syste9d429/4>)v"5sa8he.il;290lass=idv2L322 nexpmove_livoderrorect )v"59a9he.c#9915" " 29/53>290)v"5969he.c#9261" " 29/5s>2906L365ct (st,_ct 93529/7>)v"59a9he.c#9175" id29/53>290o ass=" claine37"out_unsigTed longd nexpmove_livodlenaliacref=eidv2Llendery"66ne" na10"6le syste9d429/8>)v290lass=t964/a>3333b1R12char *y_lru_move_listcwdMBOtref=e" clascwdderynd_aliac>33L296">3pag"uct#9409" idv2Lpag"deryn+ly_lru_move_listPAGE_SIZEuct#9409" idv2LPAGE_SIZEdery"66ne" na10"6le syste9d429/9>)v"5999he.c#9261" id29/5r>2902L365ct 33L296">3PAGE_SIZEuct#9409" idv2LPAGE_SIZEdery"66ne" na10"6le syste9d4291a>)v"6110"sr>10"s6" id29"6s>2916a hr612ass=L10"62ref">d_94/2911>)v"61a9he.c#9261" >129"6v>29111111idv2L361"f="+coiy_lru_move_listpreped"truct "\0"a>4spa"" 1c"66ne" na10"6le syste9d42912>)v"61a8he.ct 2912L316ct 33L296">3preped"lpathuct#9409" idv2Lpreped"lpathlice3ery" cnexpmove_livodpwdMBOtref=e" claspwdderye ery" cnexpmove_livodrootuct#9409" idv2Lrootlicee ery" cnexpmove_livodcwdMBOtref=e" clascwdderye ery" cnexpmove_livodbuflenaliacref=eidv2Lbuflenderyc"66ne" na10"6le syste9d42913>)v"6139he.c#9261" i929"63>291lass=idv2L322" classi*nexpmove_livodwri=dlsequnode=ect )v"6149he.c#9261" id29"6s>2914L36566ne" na10"6le syste9d42915>)v"61a9he.c#9915" " 29"6v>291)v"61a9he.c#9916" " 29"6 >2916ass=idv2L3222222222222222222goLo subdir sref">d_outect )v"6179he.c#9261" id29"6o>291o ass612ass=L10"62ref">d_94/2918>)v"6189he.c#9261" id29"6l>291lass=t964/a>3333b1R12*rsd""""""ed.  r b96ma/* Unre_unable from_curroin root */a>4spa"669ass="10"6omment">9="2919>)v"6199he.c#9261" id29"69>2912L365ct 935292a>)v"62v8he.c#8616" " 29"6 >2926a hress="srd_addry" ess="srBy_lru_move_listerrorect 3preped"lunre_unableuct#9409" idv2Lpreped"lunre_unablelice3ery" cnexpmove_livodcwdMBOtref=e" clascwdderye ery" cnexpmove_livodbuflenaliacref=eidv2Lbuflenderyc"66ne" na10"6le syste9d42921>)v"62a9he.c#9261" id29"6s>29211111idv2L361"f="+coiiiiiiiiiry" y_lru_move_listerrorect )v"62a9he.c#9122" id29"62>2922L316ct d_outect )v"6239he.c#9261" id29"63>292lass=idv2L322" classi"612ass=L10"62ref">d_94/2924>)v"62a8he.il;2924L36566ne" na10"6le syste9d429"5>)v"62a9he.c#9915" ""29"6v>292)vnr>"6269he.UGrrierhef29"6>>2926ass=idv2L32222222222 nexpmove_livodlenaliacref=eidv2Llenderynd_aliac>33L296">3PAGE_SIZEuct#9409" idv2LPAGE_SIZEderyn+ly_lru_move_listpag"uct#9409" idv2Lpag"deryn-lcnexpmove_livodcwdMBOtref=e" clascwddery"66ne" na10"6le syste9d42927>)v"62a9he.cass=" cla29"6o>292o ass=" claine37"out_ry" y_lru_move_listlenaliacref=eidv2Llenderynelt;d_aliac>33L296">3sizealiacref=eidv2Lsizedery" "659ass="10"6omment">9352928>)v"6289he.c#9915" " 29"6l>292lass=t964/a>3333b1R12_addry"  nexpmove_livoderrorect )v"62a9he.c#9949" id29"69>2922L365ct )v"63v8he.c#8616" " 29"6m>2936a hress="srd_addry" ess="srd_addry"  nexpmove_livoderrorect )v"63a9he.c#9961" ""29"6s>29311111idv2L361"f="+coi"612ass=L10"62ref">d_94/2932>)v"63a9he.>10"12" id29"6s>2932L316ct 9352933>)v"63a8he." class="l29"62>293lass=idv2L322" classi*nexpmove_livodwri=dlsequnode=ect )v"63a8he.il;293lass=idv2L322"612ass=L10"62ref">d_94/2935>)v"6310"s4>10"45" id29"6v>2935ass=66ne" na10"6le syste9d42936>)v"6396">32964/a>33329"6r>2936ass=subdir sref">d_outect )v"63a9he.c#9207" id29"6h>29371111idv2L361*nexpmove_livodpath_putect )v"63a9he.c#9408" id29"6l>293lass=t964/a>3aliac>33L296">3path_putect )v"63a9he.c#9409" id29"6o>2932L365ct 33L296">3free_pag"uct#9409" idv2Lfree_pag"lice3(unsigTed long) y_lru_move_listpag"uct#9409" idv2Lpag"dery""66ne" na10"6le syste9d4294a>)v"64r9he.c#9208" id29"6 >2946a hress="srdR_CAST_y_lru_move_listerrorect )v"64a8he.c#8611" id29"6s>29411111"612ass=L10"62ref">d_94/2942>)v"64a8he.c#8642" id29"6 >2942L316612ass=L10"62ref">d_94/2943>)v"64a8he.c#8543" id29"6l>294lass=*=s o_d"*m v2L308">330/*a>4spa"669ass="10"6omment">9="2944>)v"64a9he.c#9044" id29"6s>294lass="r b96s=7needed7inp feu*3Test whether new_dsrivo is a subdirectovo of old_dsrivoo unhas"58ne" na10"5try_unus9282945>)v"6410"s4>10"45" id29"6v>294lass="(via knfsd) so  l54ewu*a>4spa"58ne" na10"5try_unus9282946>)v"6496">32964/a>33329"6r>294dv2L*edeiplice3aliac - iplic* Triviallo imple- iped using3LLnery_unu2">dentur"de>323"68lass=L10"6UG_ON4/a9ck2947>)v"64a9he.c#9207" id29"6h>294lass="If"27dst4/aewac"foundu*/a>4spa"669ass="10"6omment">9="2948>)v"6 a9he.c#9408" id29"6l>294lass=612ass=L10"62ref">d_94/2949>)v"6 a9he.c#9409" id29"6o>294lass=eft"oyedalled _prior_ /**5">323"68lass=L10"6UG_ON4/a9ck295a>)v"65r9he.c#9208" id29"6r>2955ass=eft"oyedalled _prior_ t*=is_subdirn-lis new "srivo a subdirectovo of old_dsrivo5">323"68lass=L10"6UG_ON4/a9ck2951>)v"65a8he.c#v2L316"s29"6 >295lass= DCACHE_DISCONNECTED),e* @new_dsrivo: new "srivo5">323"68lass=L10"6UG_ON4/a9ck2952>)v"6528he.t 295lass="with*a %NULL"@svot* @old_dsrivo: old "srivo5">323"68lass=L10"6UG_ON4/a9ck2953>)v"65a8he.c#8763" id29"6l>295lass=*=s o_d"*m v2L308">3308*5">323"68lass=L10"6UG_ON4/a9ck2954>)v"65a8he.il;295lass="r b96s=7needed7inp feu*3R_CASTsl1_ry"new_dsrivo is a subdirectovo of LLneparoin (at any "spth)o unhas"58ne" na10"5try_unus9282955>)v"65a9he.c#9915" " 29"6v>295lass="(via knfsd) so  l54ewu*3R_CASTsl0 otherwiseo unhas"58ne" na10"5try_unus9282956>)v"65a9he.c#9916" id29"6s>295dv2L*edeiplice3aliac - iplic* Caller must ensur" LLat="new_dsrivo" is pinTed before calling3is_subdir("a>4spa"58ne" na10"5try_unus9282957>)v"6578he.gt;295lass="If"27dst4/aewac"foundu*/a>4spa"669ass="10"6omment">9="2958>)v"6589he.c#9915" " 29"6l>295lass=t9669ass="10"6omment">9="2959>)v"65a9he.c#9949" id29"6o>2952L365iinly_lru_move_listis_subdirect dentry_lru_move_list4/a>(st,_ct dentry_lru_move_list4/a>(st,_ct )v"6610"sr>10"s6" id29"6h>2966a hr"659ass="10"6omment">9352961>)v"66a9he.c#9961" id29"6 >29611111idv2L361iinly_lru_move_listresultuct#9409" idv2Lresultdery"66ne" na10"6le syste9d42962>)v"66a9he.c#9812" id29"6h>2962L316ct 33L296">3seqaliacref=eidv2Lseqdery"66ne" na10"6le syste9d42963>)v"66a8he.c#8763" id29"6l>2963L36566ne" na10"6le syste9d42964>)v"66a8he.c#8914" id29"6s>296lass=idv2L322ry" y_lru_move_listnew_dsrivot,_ct )v"66a9he.c#9915" id29"6v>296)v"66a9he.c#9916" id29"6s>296dv2L*612ass=L10"62ref">d_94/2967>)v"66a9he.c#9175" id29"6 >29671111idv2L361do "659ass="10"6omment">9352968>)v"66a9he.c#9148" id29"6l>296lass=t964/a>3333b1R12*rsd""""""ed.  r b96ma/* for restarting3inTer loop3in case of seq R_Cvo */a>4spa"669ass="10"6omment">9="2969>)v"66a9he.c#9949" id29"6o>2962L365ct 33L296">3seqaliacref=eidv2Lseqderynd_ nexpmove_livodreadlseqbeginaliacref=eidv2Lreadlseqbeginlice3ery" cnexpmove_livodrechilcode=ect )v"6710"sr>10"s6" id29"6l>2976a hress="srd_addry" c=s o_d"*m v2L308">330/*a>4spa"669ass="10"6omment">9="2971>)v"67a9he.c#9961" id29"6U>297lass= DCACHE_DISCONNECTED),eeeeeeeeeeeeeeeee* Need rcu_readode= to protect against LLnerlparoin trashinga>4spa"669ass="10"6omment">9="2972>)v"67a9he.c#9812" id29"6h>297lass="with*a %NULL"@svoteeeeeeeeeeeeeeee* due to d_mov"de>323"68lass=L10"6UG_ON4/a9ck2973>)v"67a8he.c#8763" id29"6t>297lass=*=s o_d"*m v2L308">3308eeeeeeeeeeeeeeee*/a>4spa"669ass="10"6omment">9="2974>)v"67a8he.c#8914" }629"6h>297lass=idv2L322idv2L322aliac>33L296">3rcu_readcode=ect )v"67a9he.c#9915" id29"6v>297)v"67a9he.c#9916" ""29"6s>2976ass=idv2L3222222222222222222y_lru_move_listresultuct#9409" idv2Lresultderynd_1"66ne" na10"6le syste9d42977>)v"67a9he.>10"12" id29"6 >297o ass=" claine37"out_else66ne" na10"6le syste9d42978>)v"67a9he.c class="l29"6l>297lass=t964/a>3333b1R1222222222y_lru_move_listresultuct#9409" idv2Lresultderynd_0"66ne" na10"6le syste9d42979>)v"67a9he.ct 2972L365ct 33L296">3rcu_readcunode=ect )v .>"68r9he.c#9208" id29"6>>2980ass=idv2L322}rwhile"  nexpmove_livodreadlseqR_Cvoaliacref=eidv2LreadlseqR_Cvolice3ery" cnexpmove_livodrechilcode=ect )v"68a8he.c#8611" id29"6U>2981L361669ass="10"6omment">9="2982>)v2982L316ct )v"58a8he.c#8543" id29"5t>298lass="612ass=L10"62ref">d_94/2984>)v"58a8he.c#v2L316"s29"5h>2984L36566ne" na10"6le syste9d42985>)v"58a9he.t 298lass=void aliac>33L296">3d_genocid"uct#9409" idv2Ld_genocid"lice3">dentry_lru_move_list4/a>(st,_ct )v"58a9he.c#9916" st29"5s>298dv2L*"659ass="10"6omment">9352987>)v"5878he.c#8763" id29"5 >298o ass=" clain">dentry_lru_move_list4/a>(st,_ct )v"59a9he.c#9915" 29re">2988 ass=" clain">dentry_lru_move_listlist_headaliacref=eidv2Llist_headderyn*y_lru_move_listnexnect )v"58a9he.ct 2982L365ct 33L296">3seqaliacref=eidv2Lseqdery"66ne" na10"6le syste9d4299a>)v"59v8he.c#8616" " 29"5s>2996a hress="srdrinly_lru_move_listode=educt#9409" idv2Lode=edderynd_0"66ne" na10"6le syste9d42991>)v"59a9he.c#9961" id29"5U>2991L361669ass="10"6omment">9="2992>)v"5928he.c#8616" " 29"5h>2992L316ct )v"59a8he.c#8763" id29"5t>2993L365cnexpmove_livodagainect )v"5sa8he.il;299lass=idv2L322y_lru_move_listthislparoinect )v"59a9he.c#9915" " 29"53>299d_flode=ect )v"5969he.c#9261" " 29"5s>2996ass=subdir sref">d_repeatuct#9409" idv2Lrepeatlice:66ne" na10"6le syste9d42997>)v"59a9he.c#9175" id29"53>29971111idv2L361*nexpmove_livodnexnect d_flsubdir3aliacref=eidv2Lflsubdir3dery.y_lru_move_listnexnect )v299lass= ubdir sref">d_resu1"uct#9409" idv2Lresu1"lice:66ne" na10"6le syste9d42999>)v"5999he.c#9261" id29"5r>2992L365ct d_flsubdir3aliacref=eidv2Lflsubdir3dery" "659ass="10"6omment">93530/a>)v)f>"5999he.c#9261" id30/a>>30/aL365ct dentry_lru_move_listlist_headaliacref=eidv2Llist_headderyn*y_lru_move_listtmpuct#9409" idv2Ltmpderynd_y_lru_move_listnexnect 
>59ass="10"6omment">93530/1>)v"59a9he.c#9961" id30/5U>30/11111idv2L361"f="+coi">dentry_lru_move_list4/a>(st,_ct (st,_ct (slice3y_lru_move_listtmpuct#9409" idv2Ltmpderye ">dentry_lru_move_list4/a>(st,_ct )v"5928he.c#8616" " 30/5h>30/2L316ct d_nexnect )v"59a8he.c#8763" id30/5t>30/3L36566ne" na10"6le syste9d430/4>)v"5sa8he.il;30/lass=idv2L322idv2L322aliac>33L296">3spincode=_nesteduct#9409" idv2Lspincode=_nestedlice3ery" cnexpmove_livodf/a>(st,_ct d_flode=ect )v"59a9he.c#9915" " 30/53>30/(st,_ct (st,_ct d_flinod"uct#9409" idv2Ld_inod"dery" "659ass="10"6omment">93530/6>)v"5969he.c#9261" " 30/5s>30/6ass=idv2L3222222222222222222y_lru_move_listspincunode=ect (st,_ct d_flode=ect )v"59a9he.c#9175" id30/53>30/o ass=" claine37"out_________continue"66ne" na10"6le syste9d430/8>)v30/lass=t964/a>3333b1R12"612ass=L10"62ref">d_94/30/9>)v"5999he.c#9261" id30/5r>30/2L365ct (st,_ct d_flsubdir3aliacref=eidv2Lflsubdir3dery"" "659ass="10"6omment">935301a>)v"6110"sr>10"s6" id30"6s>30"6ass=idv2L3222222222222222222y_lru_move_listspincunode=ect d_flode=ect )v"61a9he.c#9261" >130"6v>30"11111idv2L361"f="+coiiiiiiiiiy_lru_move_listspincreleasealiacref=eidv2Lspincreleaselice3ery" cnexpmove_livodf/a>(st,_ct d_flode=ect )v"61a8he.ct 30"2L316ct (st,_ct )v"6139he.c#9261" i930"63>30"lass=idv2L322" classiiiiiiiiiy_lru_move_listspincacquirealiacref=eidv2Lspincacquirelice3ery" cnexpmove_livodthislparoinect d_flode=ect )v"6149he.c#9261" id30"6s>30"lass=idv2L322idv2L32222222222goLo subdir sref">d_repeatuct#9409" idv2Lrepeatlice"66ne" na10"6le syste9d430"5>)v"61a9he.c#9915" " 30"6v>30"d_94/3016>)v"61a9he.c#9916" " 30"6 >30"2222222222222y_lru_moiy" !ove_listf/a>(st,_ct d_fflag3aliacref=eidv2Lflflag322222ery"  y_lru_move_listDCACHE_GENOCIDEuct#9409" idv2LDCACHE_GENOCIDEdery"" "659ass="10"6omment">9353017>)v"6179he.c#9261" id30"6o>30"o ass=" claine37"out_________ve_listf/a>(st,_ct d_fflag3aliacref=eidv2Lflflag322222|d_ nexpmove_livodDCACHE_GENOCIDEuct#9409" idv2LDCACHE_GENOCIDEdery"66ne" na10"6le syste9d430"8>)v"6189he.c#9261" id30"6l>30"lass=t964/a>3333b1R1222222222y_lru_move_list_ct d_fcouinect )v"6199he.c#9261" id30"69>30"2L365ct d_94/302a>)v"62v8he.c#8616" " 30"6 >30"6ass=idv2L322idv2L322aliac>33L296">3spincunode=ect (st,_ct d_flode=ect )v"62a9he.c#9261" id30"6s>30"11111idv2L361"612ass=L10"62ref">d_94/3022>)v"62a9he.c#9122" id30"62>30"2L316ct 9353023>)v"6239he.c#9261" id30"63>30"lass=idv2L322" classi">dentry_lru_move_list4/a>(st,_ct )v"62a8he.il;30"lass=idv2L322idv2L322iy" !ove_listf/a>(st,thislparoinect d_flflag3aliacref=eidv2Lflflag322222ery"  y_lru_move_listDCACHE_GENOCIDEuct#9409" idv2LDCACHE_GENOCIDEdery"" "659ass="10"6omment">9353025>)v"62a9he.c#9915" ""30"6v>30"33L296">3thislparoinect d_flflag3aliacref=eidv2Lflflag322222|d_ nexpmove_livodDCACHE_GENOCIDEuct#9409" idv2LDCACHE_GENOCIDEdery"66ne" na10"6le syste9d43026>)vnr>"6269he.UGrrierhef30"6>>30"6ass=idv2L3222222222222222222y_lru_move_listthislparoinect d_flcouinect )v"62a9he.cass=" cla30"6o>30"o ass=" claine37"out_"612ass=L10"62ref">d_94/3028>)v"6289he.c#9915" " 30"6l>30"lass=t964/a>3333b1R12*_lru_move_listthislparoinect )v"62a9he.c#9949" id30"69>30"2L365ct )v"63v8he.c#8616" " 30"6m>30"6ass=idv2L322idv2L32222222222goLo subdir sref">d_rechilcR_Cvoaliacref=eidv2LrechilcR_Cvodery"66ne" na10"6le syste9d43031>)v"63a9he.c#9961" ""30"6s>30"11111idv2L361"f="+coiy_lru_move_listnexnect d_flualiacref=eidv2Lfludery.y_lru_move_listd_childuct#9409" idv2Ld_childde=d.y_lru_move_listnexnect )v"63a9he.>10"12" id30"6s>30"2L316ct d_resu1"uct#9409" idv2Lresu1"lice"66ne" na10"6le syste9d430"3>)v"63a8he." class="l30"62>30"lass=idv2L322"612ass=L10"62ref">d_94/3034>)v"63a8he.il;30"lass=idv2L322y_lru_move_listspincunode=ect d_flode=ect )v"6310"s4>10"45" id30"6v>30")v"6396">32964/a>33330"6r>30"6ass=idv2L32222222222goLo subdir sref">d_rechilcR_Cvoaliacref=eidv2LrechilcR_Cvodery"66ne" na10"6le syste9d43037>)v"63a9he.c#9207" id30"6h>30"7a hress="srdiy" *nexpmove_livodlde=educt#9409" idv2Lode=edderyc66ne" na10"6le syste9d43038>)v"63a9he.c#9408" id30"6l>30"lass=t964/a>3333b1R12*_lru_move_listwri=dlsequnode=ect )v"63a9he.c#9409" id30"6o>30"2L365ct )v"64r9he.c#9208" id30"6 >30"6L36566ne" na10"6le syste9d43041>)v"64a8he.c#8611" id30"6s>30"1ass= ubdir sref">d_rechilcR_Cvoaliacref=eidv2LrechilcR_Cvodery:66ne" na10"6le syste9d430"2>)v"64a8he.c#8642" id30"6 >30"2L316ct )v"64a8he.c#8543" id30"6l>30"lass=idv2L322" classigoLo subdir sref">d_againect )v"64a9he.c#9044" id30"6s>30"lass=idv2L322y_lru_move_listode=educt#9409" idv2Lode=edderynd_1"66ne" na10"6le syste9d430"5>)v"6410"s4>10"45" id30"6v>30")v"6496">32964/a>33330"6r>30"6ass=idv2L322goLo subdir sref">d_againect )v"64a9he.c#9207" id30"6h>30"7a hr"612ass=L10"62ref">d_94/3048>)v"6 a9he.c#9408" id30"6l>30"lass=612ass=L10"62ref">d_94/30"9>)v"6 a9he.c#9409" id30"6o>30"lass=eft"oyedalled _prior_ /**5">323"68lass=L10"6UG_ON4/a9ck305a>)v"65r9he.c#9208" id30"6r>30"6ass=eft"oyedalled _prior_  * find_inod"_numbern-lN4/ck for dsrivo with 208"5">323"68lass=L10"6UG_ON4/a9ck3051>)v"65a8he.c#v2L316"s30"6 >30"lass= DCACHE_DISCONNECTED),e* @dir: directovo Lo N4/ck5">323"68lass=L10"6UG_ON4/a9ck3052>)v"6528he.t 30"lass="with*a %NULL"@svot* @a hh: N hh Lo findo unhas"58ne" na10"5try_unus92830"3>)v"65a8he.c#8763" id30"6l>30"lass=*=s o_d"*m v2L308">3308*5">323"68lass=L10"6UG_ON4/a9ck30"4>)v"65a8he.il;30"lass="r b96s=7needed7inp feu*3C4/ck whether a "srivo already exists for LLnegiven;323"68lass=L10"6UG_ON4/a9ck30"5>)v"65a9he.c#9915" " 30"6v>30"lass="(via knfsd) so  l54ewu*3andrR_CAST_LLneinod" numberniy"it has3aneinod". Otherwise5">323"68lass=L10"6UG_ON4/a9ck30"6>)v"65a9he.c#9916" id30"6s>30"dv2L*edeiplice3aliac - iplic* 0 is R_CASTedo unhas"58ne" na10"5try_unus92830"7>)v"6578he.gt;30"lass="If"27dst4/aewac"foundu* unhas"58ne" na10"5try_unus92830"8>)v"6589he.c#9915" " 30"6l>30"lass= rsd""""""ed.  r b96mat* This Route.c is used to post-process directovo listings for unhas"58ne" na10"5try_unus92830"9>)v"65a9he.c#9949" id30"6o>30"lass=eft"oyedalled _prior_ 84 filesystems using3syntheticeinod" numbers,3andris necessavo5">323"68lass=L10"6UG_ON4/a9ck306a>)v"6610"sr>10"s6" id30"6h>30"6ass=eft"oyedalled _prior_ 84 to keep getcwd3) workingo unhas"58ne" na10"5try_unus9283061>)v"66a9he.c#9961" id30"6 >30"lass= DCACHE_DISCONNECTED),e*/a>4spa"669ass="10"6omment">9="30"2>)v"66a9he.c#9812" id30"6h>30"2L316c669ass="10"6omment">9="30"3>)v"66a8he.c#8763" id30"6l>30"3L365cnexpmove_livodino_nect dentry_lru_move_list4/a>(st,_ct dentry_lru_move_listq">dect dderyn*y_lru_move_list763"ect )v"66a8he.c#8914" id30"6s>30"lass="659ass="10"6omment">93530"5>)v"66a9he.c#9915" id30"6v>30"dentry_lru_move_list4/a>(st,_ct )v"66a9he.c#9916" id30"6s>30"6a hress="srd nexpmove_livodino_nect )v"66a9he.c#9175" id30"6 >30"o ass612ass=L10"62ref">d_94/30"8>)v"66a9he.c#9148" id30"6l>30"lass=t964/a>3aliac>33L296">3d/a>(st,_ct )v"66a9he.c#9949" id30"6o>30"2L365ct 33L296">3d/a>(st,_ct 935307a>)v"6710"sr>10"s6" id30"6l>30"6L365ct (st,_ct d_flinod"uct#9409" idv2Ld_inod"dery"659ass="10"6omment">9353071>)v"67a9he.c#9961" id30"6U>30"11111idv2L361"f="+coiiiiiiiiiy_lru_move_listinoect d_flinod"uct#9409" idv2Ld_inod"deryagclasubdir sref">d_i_inoect )v"67a9he.c#9812" id30"6h>30"2L316ct 33L296">3d/a>(st,_ct )v"67a8he.c#8763" id30"6t>30"lass=idv2L322"612ass=L10"62ref">d_94/3074>)v"67a8he.c#8914" }630"6h>30"lass=idv2L322R_CAST_cnexpmove_livodinoect )v"67a9he.c#9915" id30"6v>30"5a hr"612ass=L10"62ref">d_94/3076>)v"67a9he.c#9916" ""30"6s>30"6ass=subdir sref">d_EXPORT_SYMBOLect 3find_inod"_numberect )v"67a9he.>10"12" id30"6 >30"o ass612ass=L10"62ref">d_94/3078>)v"67a9he.c class="l30"6l>30"lass=staticealiac>33L296">3__initdataect )v"67a9he.ct 30"9ass=staticerinly_lru_move_list__initect dect ddery"659ass="10"6omment">935308a>)v .>"68r9he.c#9208" id30"6>>30"6ass="659ass="10"6omment">9353081>)v"68a8he.c#8611" id30"6U>30"1L365ct dect ddery"659ass="10"6omment">9353082>)v30"2L316ct )v"58a8he.c#8543" id30"5t>30"lass=idv2L322 nexpmove_livoddhash_srivie3aliacref=eidv2Lfhash_srivie3derynd_cnexpmove_livodsimple_">dtoulect dtoullice3aliac>33L296">3">dect dderye ery" cnexpmove_livod">dect dderye 0""66ne" na10"6le syste9d43084>)v"58a8he.c#v2L316"s30"5h>30"lass=idv2L322R_CAST_1"66ne" na10"6le syste9d43085>)v"58a9he.t 30"5a hr"612ass=L10"62ref">d_94/3086>)v"58a9he.c#9916" st30"5s>30"6ass=subdir sref">d___setupuct#9409" idv2L__setuplice3aDCACHE_DISCOstring">"fhash_srivie3="a>4spa"" cnexpmove_livodset_dhash_srivie3aliacref=eidv2Lset_dhash_srivie3lice""66ne" na10"6le syste9d43087>)v"5878he.c#8763" id30"5 >30"o ass612ass=L10"62ref">d_94/3088>)v"59a9he.c#9915" 30re">30"lass=staticevoid aliac>33L296">3__initect d_init_earlst,_ct d_init_earlslice3void"659ass="10"6omment">9353089>)v"58a9he.ct 30"9ass="659ass="10"6omment">935309a>)v"59v8he.c#8616" " 30"5s>30"5ass=idv2L322unsigTed rinly_lru_move_listodopuct#9409" idv2Lodopdery"66ne" na10"6le syste9d43091>)v"59a9he.c#9961" id30"5U>30"1L361669ass="10"6omment">9="30"2>)v"5928he.c#8616" " 30"5h>30"2L316ct )v"59a8he.c#8763" id30"5t>30"lass=*=s o_d"*m v2L308">3308eeeeeeee* hash allocation2until vmalloc =s cc is availableo unhas"58ne" na10"5try_unus9283094>)v"5sa8he.il;30"lass="r b96s=7needed7inp feueeeeeeee*/a>4spa"669ass="10"6omment">9="3095>)v"59a9he.c#9915" " 30"53>30"9353096>)v"5969he.c#9261" " 30"5s>30"6ass=idv2L32222222222R_CAST"66ne" na10"6le syste9d43097>)v"59a9he.c#9175" id30"53>30"o ass612ass=L10"62ref">d_94/3098>)v30"lass=t964/a>3aliac>33L296">3d/a>(s_hashtableuct#9409" idv2Ld/a>(s_hashtablederynd612ass=L10"62ref">d_94/3099>)v"5999he.c#9261" id30"5r>30"2L365ct 33L296">3alloc_large_"ystem_hashect "Dsrivo ef">d"a>4spa""612ass=L10"62ref">d_94/31/a>)v)f>"5999he.c#9261" id31/a>>31/aL365ct dentry_lru_move_listhlist_bl_headaliacref=eidv2Lhlist_bl_headdery""612ass=L10"62ref">d_94/31/1>)v"59a9he.c#9961" id31/5U>31/11111idv2L361"f="+coiiiiiiiiiiiiiiiiiiiiiiiii nexpmove_livoddhash_srivie3aliacref=eidv2Lfhash_srivie3dery"612ass=L10"62ref">d_94/31/2>)v"5928he.c#8616" " 31/5h>31/2L316ct d_94/31/3>)v"59a8he.c#8763" id31/5t>310lass=idv2L322" classiiiiiiiiiiiiiiiiiiiiiiiii nexpmove_livodHASH_EARLYaliacref=eidv2LHASH_EARLYdery"612ass=L10"62ref">d_94/31/4>)v"5sa8he.il;31/lass=idv2L322idv2L322222222222222222222222222ery" cnexpmove_livodf_hash_shifnect d_94/31/5>)v"59a9he.c#9915" " 31/53>31/d_94/31/6>)v"5969he.c#9261" " 31/5s>31/6ass=idv2L322222222222222222222222222222222220"612ass=L10"62ref">d_94/31/7>)v"59a9he.c#9175" id31/53>31/o ass=" claine37"out_________22222222222222220""66ne" na10"6le syste9d431/8>)v310lass=612ass=L10"62ref">d_94/31/9>)v"5999he.c#9261" id31/5r>31/2L365ct 935311a>)v"6110"sr>10"s6" id31"6s>31"6ass=idv2L32222222222y_lru_move_listINIT_HLIST_BL_HEADect 3d/a>(s_hashtableuct#9409" idv2Ld/a>(s_hashtablederyn+ly_lru_move_listodopuct#9409" idv2Lodopdery""66ne" na10"6le syste9d431"1>)v"61a9he.c#9261" >131"6v>31111111"612ass=L10"62ref">d_94/3112>)v"61a8he.ct 3112L316612ass=L10"62ref">d_94/3113>)v"6139he.c#9261" i931"63>31"lass=staticevoid aliac>33L296">3__initect d_initt,_ct d_initlice3void"659ass="10"6omment">93531"4>)v"6149he.c#9261" id31"6s>311lass="659ass="10"6omment">93531"5>)v"61a9he.c#9915" " 31"6v>31")v"61a9he.c#9916" " 31"6 >311dv2L*612ass=L10"62ref">d_94/3117>)v"6179he.c#9261" id31"6o>31"o ass=" clainyrsd""""""ed.  r b96ma/* a>4spa"669ass="10"6omment">9="31"8>)v"6189he.c#9261" id31"6l>311lass= rsd""""""ed.  r b96mattttttttt* A_con">dentor could be added for stable state like_LLnelists,5">323"68lass=L10"6UG_ON4/a9ck31"9>)v"6199he.c#9261" id31"69>311lass=eft"oyedalled _prior_ 8tttttttt* bup"it is probably not worth"it because of LLne_ON4/926tur"de>323"68lass=L10"6UG_ON4/a9ck312a>)v"62v8he.c#8616" " 31"6 >3126ass=eft"oyedalled _prior_ 8tttttttt* of LLneG_ON4/a a>4spa"669ass="10"6omment">9="3121>)v"62a9he.c#9261" id31"6s>312lass= DCACHE_DISCONNECTED),eeeeeeeee*/a>4spa"669ass="10"6omment">9="3122>)v"62a9he.c#9122" id31"62>3122L316ct (s_ment"uct#9409" idv2Ld/a>(s_ment"derynd_cnexpmove_livodKMEM_CACHEuct#9409" idv2LKMEM_CACHElice3aliac>33L296">3d/a>(st,_ct d_94/3123>)v"6239he.c#9261" id31"63>31"lass=idv2L322" classialiac>33L296">3SLAB_RECLAIM_ACCOUNTaliacref=eidv2LSLAB_RECLAIM_ACCOUNTass=|aliac>33L296">3SLAB_PANICaliacref=eidv2LSLAB_PANICass=|aliac>33L296">3SLAB_MEM_SPREADect )v"62a8he.il;3124L36566ne" na10"6le syste9d43125>)v"62a9he.c#9915" ""31"6v>31"d_init_earlse*/a>4spa"669ass="10"6omment">9="3126>)vnr>"6269he.UGrrierhef31"6>>31"6ass=idv2L322iy" !*nexpmove_livodhashdistuct#9409" idv2Lhashdistdery"659ass="10"6omment">9353127>)v"62a9he.cass=" cla31"6o>31"o ass=" claine37"out_R_CAST"66ne" na10"6le syste9d43128>)v"6289he.c#9915" " 31"6l>312lass=612ass=L10"62ref">d_94/3129>)v"62a9he.c#9949" id31"69>31"2L365ct 33L296">3d/a>(s_hashtableuct#9409" idv2Ld/a>(s_hashtablederynd612ass=L10"62ref">d_94/313a>)v"63v8he.c#8616" " 31"6m>31"6ass=idv2L322idv2L322aliac>33L296">3alloc_large_"ystem_hashect "Dsrivo ef">d"a>4spa""612ass=L10"62ref">d_94/3131>)v"63a9he.c#9961" ""31"6s>31"11111idv2L361"f="+coiiiiiiiiiiiiiiiiiiiiiiiiisizeof3">dentry_lru_move_listhlist_bl_headaliacref=eidv2Lhlist_bl_headdery""612ass=L10"62ref">d_94/31"2>)v"63a9he.>10"12" id31"6s>31"2L316ct d_94/31"3>)v"63a8he." class="l31"62>313lass=idv2L322" classiiiiiiiiiiiiiiiiiiiiiiiii13"612ass=L10"62ref">d_94/3134>)v"63a8he.il;313lass=idv2L322idv2L3222222222222222222222222220"612ass=L10"62ref">d_94/3135>)v"6310"s4>10"45" id31"6v>313d_94/3136>)v"6396">32964/a>33331"6r>31"6ass=idv2L32222222222222222222222222222222222ery" cnexpmove_livodf_hash_mas=ect d_94/3137>)v"63a9he.c#9207" id31"6h>313o ass=" claine37"out_________22222222222222220"612ass=L10"62ref">d_94/3138>)v"63a9he.c#9408" id31"6l>31"lass=t964/a>3333b1R12________22222222222222220""66ne" na10"6le syste9d431"9>)v"63a9he.c#9409" id31"6o>31"2L36566ne" na10"6le syste9d4314a>)v"64r9he.c#9208" id31"6 >3146a hress="srdfor  y_lru_move_listldopuct#9409" idv2Lodopderynd_0"ly_lru_move_listodopuct#9409" idv2Lodopderynelt; (1Unelt;elt; cnexpmove_livodf_hash_shifnect 9353141>)v"64a8he.c#8611" id31"6s>31411111idv2L361"f="+coiy_lru_move_listINIT_HLIST_BL_HEADect 3d/a>(s_hashtableuct#9409" idv2Ld/a>(s_hashtablederyn+ly_lru_move_listodopuct#9409" idv2Lodopdery""66ne" na10"6le syste9d431"2>)v"64a8he.c#8642" id31"6 >31"2L316"612ass=L10"62ref">d_94/3143>)v"64a8he.c#8543" id31"6l>3143L36566ne" na10"6le syste9d43144>)v"64a9he.c#9044" id31"6s>314lass="r b96s=7needed7inp fe/* SLABe_ON4/9for __get044"()_con"umerse*/a>4spa"669ass="10"6omment">9="31"5>)v"6410"s4>10"45" id31"6v>31"dentry_lru_move_listkmem_ment"uct#9409" idv2Lkmem_ment"deryn*y_lru_move_list763"s_ment"puct#9409" idv2L763"s_ment"pL316ccnexpmove_livod__readcmostlst,_ct )v"6496">32964/a>33331"6r>3146ass=subdir sref">d_EXPORT_SYMBOLect 3763"s_ment"puct#9409" idv2L763"s_ment"pL316""66ne" na10"6le syste9d431"7>)v"64a9he.c#9207" id31"6h>314o ass612ass=L10"62ref">d_94/3148>)v"6 a9he.c#9408" id31"6l>314lass= ubdir sref">d_EXPORT_SYMBOLect 3d_genocid"uct#9409" idv2Ld_genocid"lice""66ne" na10"6le syste9d431"9>)v"6 a9he.c#9409" id31"6o>3142L36566ne" na10"6le syste9d4315a>)v"65r9he.c#9208" id31"6r>31"6ass=void aliac>33L296">3__initect 9353151>)v"65a8he.c#v2L316"s31"6 >31"lass="659ass="10"6omment">9353152>)v"6528he.t 3152L316ct d_init_earlst,_ct d_init_earlslice3""66ne" na10"6le syste9d431"3>)v"65a8he.c#8763" id31"6l>315lass=idv2L322 nexpmove_livodinod"_init_earlst,_ct )v"65a8he.il;31"lass="612ass=L10"62ref">d_94/31"5>)v"65a9he.c#9915" " 31"6v>31"lass=612ass=L10"62ref">d_94/31"6>)v"65a9he.c#9916" id31"6s>31"dv2L*void aliac>33L296">3__initect 93531"7>)v"6578he.gt;31"lass="659ass="10"6omment">9353158>)v"6589he.c#9915" " 31"6l>315lass=t964/a>3unsigTed longd nexpmove_livodreserv"uct#9409" idv2Lreserv"dery"66ne" na10"6le syste9d431"9>)v"65a9he.c#9949" id31"6o>3152L36566ne" na10"6le syste9d4316a>)v"6610"sr>10"s6" id31"6h>3166a hress="srd"r b96s=7needed7inp fe/* Base hash sizes on available memory, with a reserv" equal toa>4spa"669ass="10"6omment">9="3161>)v"66a9he.c#9961" id31"6 >31"lass= DCACHE_DISCONNECTED),eeeeeeeeeee1"6% of curroin kernel sizee*/a>4spa"669ass="10"6omment">9="31"2>)v"66a9he.c#9812" id31"6h>3162L316612ass=L10"62ref">d_94/31"3>)v"66a8he.c#8763" id31"6l>316lass=idv2L322 nexpmove_livodreserv"uct#9409" idv2Lreserv"derynd_cnexpmove_livodminect 3mempage3aliacref=eidv2Lmempage3dery - y_lru_move_list7r_free_page3aliacref=eidv2L7r_free_page3lice3") * 3/2" cnexpmove_livodmempage3aliacref=eidv2Lmempage3dery - 1""66ne" na10"6le syste9d431"4>)v"66a8he.c#8914" id31"6s>316lass=idv2L322y_lru_move_listmempage3aliacref=eidv2Lmempage3dery -d_ nexpmove_livodreserv"uct#9409" idv2Lreserv"dery"66ne" na10"6le syste9d431"5>)v"66a9he.c#9915" id31"6v>316lass=612ass=L10"62ref">d_94/3166>)v"66a9he.c#9916" id31"6s>31"6a hress="srd nexpmove_livod763"s_ment"puct#9409" idv2L763"s_ment"pL316cd_ nexpmove_livodkmem_ment"_creat"uct#9409" idv2Lkmem_ment"_creat"lice3aDCACHE_DISCOstring">"763"s_ment""a>4spa"" cnexpmove_livodPATH_MAXuct#9409" idv2LPATH_MAXdery"20"612ass=L10"62ref">d_94/31"7>)v"66a9he.c#9175" id31"6 >316o ass=" claine37"out_________ve_listf/a>(st,SLAB_HWCACHE_ALIGNect 3SLAB_PANICaliacref=eidv2LSLAB_PANICass=" cnexpmove_livodNULLect )v"66a9he.c#9148" id31"6l>316lass=612ass=L10"62ref">d_94/31"9>)v"66a9he.c#9949" id31"6o>3162L365ct 33L296">3def">d_initt,_ct d_initlice3""66ne" na10"6le syste9d4317a>)v"6710"sr>10"s6" id31"6l>31"6L365ct )v"67a9he.c#9961" id31"6U>31"11111idv2L361 nexpmove_livodfiles_initt,_ct 33L296">3mempage3aliacref=eidv2Lmempage3dery""66ne" na10"6le syste9d43172>)v"67a9he.c#9812" id31"6h>3172L316ct )v"67a8he.c#8763" id31"6t>317lass=idv2L322 nexpmove_livodbdev_ef">d_initt,_ct d_initlice3""66ne" na10"6le syste9d43174>)v"67a8he.c#8914" }631"6h>317lass=idv2L322y_lru_move_listchrdev_initt,_ct )v"67a9he.c#9915" id31"6v>31"5a hr"612ass=L10"62ref">d_94/3176>)v"67a9he.c#9916" ""31"6s>31"6ass=s/pre>
"67a9footer"> The original LXR software by LLne12ass=L10http://sourceforge.net/projects/lxr">LXR NNECunitodery, this experiCTEDal version2by 12ass=L10mailto:lxr@he.ux.no">lxr@he.ux.nodery. "67a9subfooter"> lxr.he.ux.no kindly hosted2by 12ass=L10http://www.redpill-he.pro.no">Redpill Le.pro ASdery, provider of Le.ux_con"ulting3androperations services since 1995.