linux/mm/backing-dev.c Ppriax- / /-for-> Savex- / /-for-> >
a href="../linux+v3.69x/mm/backing-dev.h"> <<p" -for anctio=""mm/backing-dev.c; method".geh"> opction.value"v4.9.11"> -> v4.9.11 opction.value"v4.9.10"> -> v4.9.10 opction.value"v4.9.9"> -> v4.9.9 opction.value"v4.9.8"> -> v4.9.8 opction.value"v4.9.7"> -> v4.9.7 opction.value"v4.9.6"> -> v4.9.6 opction.value"v4.9.5"> -> v4.9.5 opction.value"v4.9.4"> -> v4.9.4 opction.value"v4.9.3"> -> v4.9.3 opction.value"v4.9.2"> -> v4.9.2 opction.value"v4.9.1"> -> v4.9.1 opction.value"v4.9"> -> v4.9 opction.value"v4.8.17"> -> v4.8.17 opction.value"v4.8.16"> -> v4.8.16 opction.value"v4.8.15"> -> v4.8.15 opction.value"v4.8.14"> -> v4.8.14 opction.value"v4.8.13"> -> v4.8.13 opction.value"v4.8.12"> -> v4.8.12 opction.value"v4.8.11"> -> v4.8.11 opction.value"v4.8.10"> -> v4.8.10 opction.value"v4.8.9"> -> v4.8.9 opction.value"v4.8.8"> -> v4.8.8 opction.value"v4.8.7"> -> v4.8.7 opction.value"v4.8.6"> -> v4.8.6 opction.value"v4.8.5"> -> v4.8.5 opction.value"v4.8.4"> -> v4.8.4 opction.value"v4.8.3"> -> v4.8.3 opction.value"v4.8.2"> -> v4.8.2 opction.value"v4.8.1"> -> v4.8.1 opction.value"v4.8"> -> v4.8 opction.value"v4.7.10"> -> v4.7.10 opction.value"v4.7.9"> -> v4.7.9 opction.value"v4.7.8"> -> v4.7.8 opction.value"v4.7.7"> -> v4.7.7 opction.value"v4.7.6"> -> v4.7.6 opction.value"v4.7.5"> -> v4.7.5 opction.value"v4.7.4"> -> v4.7.4 opction.value"v4.7.3"> -> v4.7.3 opction.value"v4.7.2"> -> v4.7.2 opction.value"v4.7.1"> -> v4.7.1 opction.value"v4.7"> -> v4.7 opction.value"v4.6.7"> -> v4.6.7 opction.value"v4.6.6"> -> v4.6.6 opction.value"v4.6.5"> -> v4.6.5 opction.value"v4.6.4"> -> v4.6.4 opction.value"v4.6.3"> -> v4.6.3 opction.value"v4.6.2"> -> v4.6.2 opction.value"v4.6.1"> -> v4.6.1 opction.value"v4.6"> -> v4.6 opction.value"v4.5.7"> -> v4.5.7 opction.value"v4.5.6"> -> v4.5.6 opction.value"v4.5.5"> -> v4.5.5 opction.value"v4.5.4"> -> v4.5.4 opction.value"v4.5.3"> -> v4.5.3 opction.value"v4.5.2"> -> v4.5.2 opction.value"v4.5.1"> -> v4.5.1 opction.value"v4.5"> -> v4.5 opction.value"v4.4.50"> -> v4.4.50 opction.value"v4.4.49"> -> v4.4.49 opction.value"v4.4.48"> -> v4.4.48 opction.value"v4.4.47"> -> v4.4.47 opction.value"v4.4.46"> -> v4.4.46 opction.value"v4.4.45"> -> v4.4.45 opction.value"v4.4.44"> -> v4.4.44 opction.value"v4.4.43"> -> v4.4.43 opction.value"v4.4.42"> -> v4.4.42 opction.value"v4.4.41"> -> v4.4.41 opction.value"v4.4.40"> -> v4.4.40 opction.value"v4.4.39"> -> v4.4.39 opction.value"v4.4.38"> -> v4.4.38 opction.value"v4.4.37"> -> v4.4.37 opction.value"v4.4.36"> -> v4.4.36 opction.value"v4.4.35"> -> v4.4.35 opction.value"v4.4.34"> -> v4.4.34 opction.value"v4.4.33"> -> v4.4.33 opction.value"v4.4.32"> -> v4.4.32 opction.value"v4.4.31"> -> v4.4.31 opction.value"v4.4.30"> -> v4.4.30 opction.value"v4.4.29"> -> v4.4.29 opction.value"v4.4.28"> -> v4.4.28 opction.value"v4.4.27"> -> v4.4.27 opction.value"v4.4.26"> -> v4.4.26 opction.value"v4.4.25"> -> v4.4.25 opction.value"v4.4.24"> -> v4.4.24 opction.value"v4.4.23"> -> v4.4.23 opction.value"v4.4.22"> -> v4.4.22 opction.value"v4.4.21"> -> v4.4.21 opction.value"v4.4.20"> -> v4.4.20 opction.value"v4.4.19"> -> v4.4.19 opction.value"v4.4.18"> -> v4.4.18 opction.value"v4.4.17"> -> v4.4.17 opction.value"v4.4.16"> -> v4.4.16 opction.value"v4.4.15"> -> v4.4.15 opction.value"v4.4.14"> -> v4.4.14 opction.value"v4.4.13"> -> v4.4.13 opction.value"v4.4.12"> -> v4.4.12 opction.value"v4.4.11"> -> v4.4.11 opction.value"v4.4.10"> -> v4.4.10 opction.value"v4.4.9"> -> v4.4.9 opction.value"v4.4.8"> -> v4.4.8 opction.value"v4.4.7"> -> v4.4.7 opction.value"v4.4.6"> -> v4.4.6 opction.value"v4.4.5"> -> v4.4.5 opction.value"v4.4.4"> -> v4.4.4 opction.value"v4.4.3"> -> v4.4.3 opction.value"v4.4.2"> -> v4.4.2 opction.value"v4.4.1"> -> v4.4.1 opction.value"v4.4"> -> v4.4 opction.value"v4.3.6"> -> v4.3.6 opction.value"v4.3.5"> -> v4.3.5 opction.value"v4.3.4"> -> v4.3.4 opction.value"v4.3.3"> -> v4.3.3 opction.value"v4.3.2"> -> v4.3.2 opction.value"v4.3.1"> -> v4.3.1 opction.value"v4.3"> -> v4.3 opction.value"v4.2.8"> -> v4.2.8 opction.value"v4.2.7"> -> v4.2.7 opction.value"v4.2.6"> -> v4.2.6 opction.value"v4.2.5"> -> v4.2.5 opction.value"v4.2.4"> -> v4.2.4 opction.value"v4.2.3"> -> v4.2.3 opction.value"v4.2.2"> -> v4.2.2 opction.value"v4.2.1"> -> v4.2.1 opction.value"v4.2"> -> v4.2 opction.value"v4.1.38"> -> v4.1.38 opction.value"v4.1.37"> -> v4.1.37 opction.value"v4.1.36"> -> v4.1.36 opction.value"v4.1.35"> -> v4.1.35 opction.value"v4.1.34"> -> v4.1.34 opction.value"v4.1.33"> -> v4.1.33 opction.value"v4.1.32"> -> v4.1.32 opction.value"v4.1.31"> -> v4.1.31 opction.value"v4.1.30"> -> v4.1.30 opction.value"v4.1.29"> -> v4.1.29 opction.value"v4.1.28"> -> v4.1.28 opction.value"v4.1.27"> -> v4.1.27 opction.value"v4.1.26"> -> v4.1.26 opction.value"v4.1.25"> -> v4.1.25 opction.value"v4.1.24"> -> v4.1.24 opction.value"v4.1.23"> -> v4.1.23 opction.value"v4.1.22"> -> v4.1.22 opction.value"v4.1.21"> -> v4.1.21 opction.value"v4.1.20"> -> v4.1.20 opction.value"v4.1.19"> -> v4.1.19 opction.value"v4.1.18"> -> v4.1.18 opction.value"v4.1.17"> -> v4.1.17 opction.value"v4.1.16"> -> v4.1.16 opction.value"v4.1.15"> -> v4.1.15 opction.value"v4.1.14"> -> v4.1.14 opction.value"v4.1.13"> -> v4.1.13 opction.value"v4.1.12"> -> v4.1.12 opction.value"v4.1.11"> -> v4.1.11 opction.value"v4.1.10"> -> v4.1.10 opction.value"v4.1.9"> -> v4.1.9 opction.value"v4.1.8"> -> v4.1.8 opction.value"v4.1.7"> -> v4.1.7 opction.value"v4.1.6"> -> v4.1.6 opction.value"v4.1.5"> -> v4.1.5 opction.value"v4.1.4"> -> v4.1.4 opction.value"v4.1.3"> -> v4.1.3 opction.value"v4.1.2"> -> v4.1.2 opction.value"v4.1.1"> -> v4.1.1 opction.value"v4.1"> -> v4.1 opction.value"v4.0.9"> -> v4.0.9 opction.value"v4.0.8"> -> v4.0.8 opction.value"v4.0.7"> -> v4.0.7 opction.value"v4.0.6"> -> v4.0.6 opction.value"v4.0.5"> -> v4.0.5 opction.value"v4.0.4"> -> v4.0.4 opction.value"v4.0.3"> -> v4.0.3 opction.value"v4.0.2"> -> v4.0.2 opction.value"v4.0.1"> -> v4.0.1 opction.value"v4.0"> -> v4.0 opction.value"v3.19.8"> -> v3.19.8 opction.value"v3.19.7"> -> v3.19.7 opction.value"v3.19.6"> -> v3.19.6 opction.value"v3.19.5"> -> v3.19.5 opction.value"v3.19.4"> -> v3.19.4 opction.value"v3.19.3"> -> v3.19.3 opction.value"v3.19.2"> -> v3.19.2 opction.value"v3.19.1"> -> v3.19.1 opction.value"v3.19"> -> v3.19 opction.value"v3.18.48"> -> v3.18.48 opction.value"v3.18.47"> -> v3.18.47 opction.value"v3.18.46"> -> v3.18.46 opction.value"v3.18.45"> -> v3.18.45 opction.value"v3.18.44"> -> v3.18.44 opction.value"v3.18.43"> -> v3.18.43 opction.value"v3.18.42"> -> v3.18.42 opction.value"v3.18.41"> -> v3.18.41 opction.value"v3.18.40"> -> v3.18.40 opction.value"v3.18.39"> -> v3.18.39 opction.value"v3.18.38"> -> v3.18.38 opction.value"v3.18.37"> -> v3.18.37 opction.value"v3.18.36"> -> v3.18.36 opction.value"v3.18.35"> -> v3.18.35 opction.value"v3.18.34"> -> v3.18.34 opction.value"v3.18.33"> -> v3.18.33 opction.value"v3.18.32"> -> v3.18.32 opction.value"v3.18.31"> -> v3.18.31 opction.value"v3.18.30"> -> v3.18.30 opction.value"v3.18.29"> -> v3.18.29 opction.value"v3.18.28"> -> v3.18.28 opction.value"v3.18.27"> -> v3.18.27 opction.value"v3.18.26"> -> v3.18.26 opction.value"v3.18.25"> -> v3.18.25 opction.value"v3.18.24"> -> v3.18.24 opction.value"v3.18.23"> -> v3.18.23 opction.value"v3.18.22"> -> v3.18.22 opction.value"v3.18.21"> -> v3.18.21 opction.value"v3.18.20"> -> v3.18.20 opction.value"v3.18.19"> -> v3.18.19 opction.value"v3.18.18"> -> v3.18.18 opction.value"v3.18.17"> -> v3.18.17 opction.value"v3.18.16"> -> v3.18.16 opction.value"v3.18.15"> -> v3.18.15 opction.value"v3.18.14"> -> v3.18.14 opction.value"v3.18.13"> -> v3.18.13 opction.value"v3.18.12"> -> v3.18.12 opction.value"v3.18.11"> -> v3.18.11 opction.value"v3.18.10"> -> v3.18.10 opction.value"v3.18.9"> -> v3.18.9 opction.value"v3.18.8"> -> v3.18.8 opction.value"v3.18.7"> -> v3.18.7 opction.value"v3.18.6"> -> v3.18.6 opction.value"v3.18.5"> -> v3.18.5 opction.value"v3.18.4"> -> v3.18.4 opction.value"v3.18.3"> -> v3.18.3 opction.value"v3.18.2"> -> v3.18.2 opction.value"v3.18.1"> -> v3.18.1 opction.value"v3.18"> -> v3.18 opction.value"v3.17.8"> -> v3.17.8 opction.value"v3.17.7"> -> v3.17.7 opction.value"v3.17.6"> -> v3.17.6 opction.value"v3.17.5"> -> v3.17.5 opction.value"v3.17.4"> -> v3.17.4 opction.value"v3.17.3"> -> v3.17.3 opction.value"v3.17.2"> -> v3.17.2 opction.value"v3.17.1"> -> v3.17.1 opction.value"v3.17"> -> v3.17 opction.value"v3.16.39"> -> v3.16.39 opction.value"v3.16.38"> -> v3.16.38 opction.value"v3.16.37"> -> v3.16.37 opction.value"v3.16.36"> -> v3.16.36 opction.value"v3.16.35"> -> v3.16.35 opction.value"v3.16.7"> -> v3.16.7 opction.value"v3.16.6"> -> v3.16.6 opction.value"v3.16.5"> -> v3.16.5 opction.value"v3.16.4"> -> v3.16.4 opction.value"v3.16.3"> -> v3.16.3 opction.value"v3.16.2"> -> v3.16.2 opction.value"v3.16.1"> -> v3.16.1 opction.value"v3.16"> -> v3.16 opction.value"v3.15.10"> -> v3.15.10 opction.value"v3.15.9"> -> v3.15.9 opction.value"v3.15.8"> -> v3.15.8 opction.value"v3.15.7"> -> v3.15.7 opction.value"v3.15.6"> -> v3.15.6 opction.value"v3.15.5"> -> v3.15.5 opction.value"v3.15.4"> -> v3.15.4 opction.value"v3.15.3"> -> v3.15.3 opction.value"v3.15.2"> -> v3.15.2 opction.value"v3.15.1"> -> v3.15.1 opction.value"v3.15"> -> v3.15 opction.value"v3.14.79"> -> v3.14.79 opction.value"v3.14.78"> -> v3.14.78 opction.value"v3.14.77"> -> v3.14.77 opction.value"v3.14.76"> -> v3.14.76 opction.value"v3.14.75"> -> v3.14.75 opction.value"v3.14.74"> -> v3.14.74 opction.value"v3.14.73"> -> v3.14.73 opction.value"v3.14.72"> -> v3.14.72 opction.value"v3.14.71"> -> v3.14.71 opction.value"v3.14.70"> -> v3.14.70 opction.value"v3.14.69"> -> v3.14.69 opction.value"v3.14.68"> -> v3.14.68 opction.value"v3.14.67"> -> v3.14.67 opction.value"v3.14.66"> -> v3.14.66 opction.value"v3.14.65"> -> v3.14.65 opction.value"v3.14.64"> -> v3.14.64 opction.value"v3.14.63"> -> v3.14.63 opction.value"v3.14.62"> -> v3.14.62 opction.value"v3.14.61"> -> v3.14.61 opction.value"v3.14.60"> -> v3.14.60 opction.value"v3.14.59"> -> v3.14.59 opction.value"v3.14.58"> -> v3.14.58 opction.value"v3.14.57"> -> v3.14.57 opction.value"v3.14.56"> -> v3.14.56 opction.value"v3.14.55"> -> v3.14.55 opction.value"v3.14.54"> -> v3.14.54 opction.value"v3.14.53"> -> v3.14.53 opction.value"v3.14.52"> -> v3.14.52 opction.value"v3.14.51"> -> v3.14.51 opction.value"v3.14.50"> -> v3.14.50 opction.value"v3.14.49"> -> v3.14.49 opction.value"v3.14.48"> -> v3.14.48 opction.value"v3.14.47"> -> v3.14.47 opction.value"v3.14.46"> -> v3.14.46 opction.value"v3.14.45"> -> v3.14.45 opction.value"v3.14.44"> -> v3.14.44 opction.value"v3.14.43"> -> v3.14.43 opction.value"v3.14.42"> -> v3.14.42 opction.value"v3.14.41"> -> v3.14.41 opction.value"v3.14.40"> -> v3.14.40 opction.value"v3.14.39"> -> v3.14.39 opction.value"v3.14.38"> -> v3.14.38 opction.value"v3.14.37"> -> v3.14.37 opction.value"v3.14.36"> -> v3.14.36 opction.value"v3.14.35"> -> v3.14.35 opction.value"v3.14.34"> -> v3.14.34 opction.value"v3.14.33"> -> v3.14.33 opction.value"v3.14.32"> -> v3.14.32 opction.value"v3.14.31"> -> v3.14.31 opction.value"v3.14.30"> -> v3.14.30 opction.value"v3.14.29"> -> v3.14.29 opction.value"v3.14.28"> -> v3.14.28 opction.value"v3.14.27"> -> v3.14.27 opction.value"v3.14.26"> -> v3.14.26 opction.value"v3.14.25"> -> v3.14.25 opction.value"v3.14.24"> -> v3.14.24 opction.value"v3.14.23"> -> v3.14.23 opction.value"v3.14.22"> -> v3.14.22 opction.value"v3.14.21"> -> v3.14.21 opction.value"v3.14.20"> -> v3.14.20 opction.value"v3.14.19"> -> v3.14.19 opction.value"v3.14.18"> -> v3.14.18 opction.value"v3.14.17"> -> v3.14.17 opction.value"v3.14.16"> -> v3.14.16 opction.value"v3.14.15"> -> v3.14.15 opction.value"v3.14.14"> -> v3.14.14 opction.value"v3.14.13"> -> v3.14.13 opction.value"v3.14.12"> -> v3.14.12 opction.value"v3.14.11"> -> v3.14.11 opction.value"v3.14.10"> -> v3.14.10 opction.value"v3.14.9"> -> v3.14.9 opction.value"v3.14.8"> -> v3.14.8 opction.value"v3.14.7"> -> v3.14.7 opction.value"v3.14.6"> -> v3.14.6 opction.value"v3.14.5"> -> v3.14.5 opction.value"v3.14.4"> -> v3.14.4 opction.value"v3.14.3"> -> v3.14.3 opction.value"v3.14.2"> -> v3.14.2 opction.value"v3.14.1"> -> v3.14.1 opction.value"v3.14"> -> v3.14 opction.value"v3.13.11"> -> v3.13.11 opction.value"v3.13.10"> -> v3.13.10 opction.value"v3.13.9"> -> v3.13.9 opction.value"v3.13.8"> -> v3.13.8 opction.value"v3.13.7"> -> v3.13.7 opction.value"v3.13.6"> -> v3.13.6 opction.value"v3.13.5"> -> v3.13.5 opction.value"v3.13.4"> -> v3.13.4 opction.value"v3.13.3"> -> v3.13.3 opction.value"v3.13.2"> -> v3.13.2 opction.value"v3.13.1"> -> v3.13.1 opction.value"v3.13"> -> v3.13 opction.value"v3.12.70"> -> v3.12.70 opction.value"v3.12.69"> -> v3.12.69 opction.value"v3.12.68"> -> v3.12.68 opction.value"v3.12.67"> -> v3.12.67 opction.value"v3.12.66"> -> v3.12.66 opction.value"v3.12.65"> -> v3.12.65 opction.value"v3.12.64"> -> v3.12.64 opction.value"v3.12.63"> -> v3.12.63 opction.value"v3.12.62"> -> v3.12.62 opction.value"v3.12.61"> -> v3.12.61 opction.value"v3.12.60"> -> v3.12.60 opction.value"v3.12.59"> -> v3.12.59 opction.value"v3.12.58"> -> v3.12.58 opction.value"v3.12.57"> -> v3.12.57 opction.value"v3.12.56"> -> v3.12.56 opction.value"v3.12.55"> -> v3.12.55 opction.value"v3.12.54"> -> v3.12.54 opction.value"v3.12.53"> -> v3.12.53 opction.value"v3.12.52"> -> v3.12.52 opction.value"v3.12.51"> -> v3.12.51 opction.value"v3.12.50"> -> v3.12.50 opction.value"v3.12.49"> -> v3.12.49 opction.value"v3.12.48"> -> v3.12.48 opction.value"v3.12.47"> -> v3.12.47 opction.value"v3.12.46"> -> v3.12.46 opction.value"v3.12.45"> -> v3.12.45 opction.value"v3.12.44"> -> v3.12.44 opction.value"v3.12.43"> -> v3.12.43 opction.value"v3.12.42"> -> v3.12.42 opction.value"v3.12.41"> -> v3.12.41 opction.value"v3.12.40"> -> v3.12.40 opction.value"v3.12.39"> -> v3.12.39 opction.value"v3.12.38"> -> v3.12.38 opction.value"v3.12.37"> -> v3.12.37 opction.value"v3.12.36"> -> v3.12.36 opction.value"v3.12.35"> -> v3.12.35 opction.value"v3.12.34"> -> v3.12.34 opction.value"v3.12.33"> -> v3.12.33 opction.value"v3.12.32"> -> v3.12.32 opction.value"v3.12.31"> -> v3.12.31 opction.value"v3.12.30"> -> v3.12.30 opction.value"v3.12.29"> -> v3.12.29 opction.value"v3.12.28"> -> v3.12.28 opction.value"v3.12.27"> -> v3.12.27 opction.value"v3.12.26"> -> v3.12.26 opction.value"v3.12.25"> -> v3.12.25 opction.value"v3.12.24"> -> v3.12.24 opction.value"v3.12.23"> -> v3.12.23 opction.value"v3.12.22"> -> v3.12.22 opction.value"v3.12.21"> -> v3.12.21 opction.value"v3.12.20"> -> v3.12.20 opction.value"v3.12.19"> -> v3.12.19 opction.value"v3.12.18"> -> v3.12.18 opction.value"v3.12.17"> -> v3.12.17 opction.value"v3.12.16"> -> v3.12.16 opction.value"v3.12.15"> -> v3.12.15 opction.value"v3.12.14"> -> v3.12.14 opction.value"v3.12.13"> -> v3.12.13 opction.value"v3.12.12"> -> v3.12.12 opction.value"v3.12.11"> -> v3.12.11 opction.value"v3.12.10"> -> v3.12.10 opction.value"v3.12.9"> -> v3.12.9 opction.value"v3.12.8"> -> v3.12.8 opction.value"v3.12.7"> -> v3.12.7 opction.value"v3.12.6"> -> v3.12.6 opction.value"v3.12.5"> -> v3.12.5 opction.value"v3.12.4"> -> v3.12.4 opction.value"v3.12.3"> -> v3.12.3 opction.value"v3.12.2"> -> v3.12.2 opction.value"v3.12.1"> -> v3.12.1 opction.value"v3.12"> -> v3.12 opction.value"v3.11.10"> -> v3.11.10 opction.value"v3.11.9"> -> v3.11.9 opction.value"v3.11.8"> -> v3.11.8 opction.value"v3.11.7"> -> v3.11.7 opction.value"v3.11.6"> -> v3.11.6 opction.value"v3.11.5"> -> v3.11.5 opction.value"v3.11.4"> -> v3.11.4 opction.value"v3.11.3"> -> v3.11.3 opction.value"v3.11.2"> -> v3.11.2 opction.value"v3.11.1"> -> v3.11.1 opction.value"v3.11"> -> v3.11 opction.value"v3.10.105"> -> v3.10.105 opction.value"v3.10.104"> -> v3.10.104 opction.value"v3.10.103"> -> v3.10.103 opction.value"v3.10.102"> -> v3.10.102 opction.value"v3.10.101"> -> v3.10.101 opction.value"v3.10.100"> -> v3.10.100 opction.value"v3.10.99"> -> v3.10.99 opction.value"v3.10.98"> -> v3.10.98 opction.value"v3.10.97"> -> v3.10.97 opction.value"v3.10.96"> -> v3.10.96 opction.value"v3.10.95"> -> v3.10.95 opction.value"v3.10.94"> -> v3.10.94 opction.value"v3.10.93"> -> v3.10.93 opction.value"v3.10.92"> -> v3.10.92 opction.value"v3.10.91"> -> v3.10.91 opction.value"v3.10.90"> -> v3.10.90 opction.value"v3.10.89"> -> v3.10.89 opction.value"v3.10.88"> -> v3.10.88 opction.value"v3.10.87"> -> v3.10.87 opction.value"v3.10.86"> -> v3.10.86 opction.value"v3.10.85"> -> v3.10.85 opction.value"v3.10.84"> -> v3.10.84 opction.value"v3.10.83"> -> v3.10.83 opction.value"v3.10.82"> -> v3.10.82 opction.value"v3.10.81"> -> v3.10.81 opction.value"v3.10.80"> -> v3.10.80 opction.value"v3.10.79"> -> v3.10.79 opction.value"v3.10.78"> -> v3.10.78 opction.value"v3.10.77"> -> v3.10.77 opction.value"v3.10.76"> -> v3.10.76 opction.value"v3.10.75"> -> v3.10.75 opction.value"v3.10.74"> -> v3.10.74 opction.value"v3.10.73"> -> v3.10.73 opction.value"v3.10.72"> -> v3.10.72 opction.value"v3.10.71"> -> v3.10.71 opction.value"v3.10.70"> -> v3.10.70 opction.value"v3.10.69"> -> v3.10.69 opction.value"v3.10.68"> -> v3.10.68 opction.value"v3.10.67"> -> v3.10.67 opction.value"v3.10.66"> -> v3.10.66 opction.value"v3.10.65"> -> v3.10.65 opction.value"v3.10.64"> -> v3.10.64 opction.value"v3.10.63"> -> v3.10.63 opction.value"v3.10.62"> -> v3.10.62 opction.value"v3.10.61"> -> v3.10.61 opction.value"v3.10.60"> -> v3.10.60 opction.value"v3.10.59"> -> v3.10.59 opction.value"v3.10.58"> -> v3.10.58 opction.value"v3.10.57"> -> v3.10.57 opction.value"v3.10.56"> -> v3.10.56 opction.value"v3.10.55"> -> v3.10.55 opction.value"v3.10.54"> -> v3.10.54 opction.value"v3.10.53"> -> v3.10.53 opction.value"v3.10.52"> -> v3.10.52 opction.value"v3.10.51"> -> v3.10.51 opction.value"v3.10.50"> -> v3.10.50 opction.value"v3.10.49"> -> v3.10.49 opction.value"v3.10.48"> -> v3.10.48 opction.value"v3.10.47"> -> v3.10.47 opction.value"v3.10.46"> -> v3.10.46 opction.value"v3.10.45"> -> v3.10.45 opction.value"v3.10.44"> -> v3.10.44 opction.value"v3.10.43"> -> v3.10.43 opction.value"v3.10.42"> -> v3.10.42 opction.value"v3.10.41"> -> v3.10.41 opction.value"v3.10.40"> -> v3.10.40 opction.value"v3.10.39"> -> v3.10.39 opction.value"v3.10.38"> -> v3.10.38 opction.value"v3.10.37"> -> v3.10.37 opction.value"v3.10.36"> -> v3.10.36 opction.value"v3.10.35"> -> v3.10.35 opction.value"v3.10.34"> -> v3.10.34 opction.value"v3.10.33"> -> v3.10.33 opction.value"v3.10.32"> -> v3.10.32 opction.value"v3.10.31"> -> v3.10.31 opction.value"v3.10.30"> -> v3.10.30 opction.value"v3.10.29"> -> v3.10.29 opction.value"v3.10.28"> -> v3.10.28 opction.value"v3.10.27"> -> v3.10.27 opction.value"v3.10.26"> -> v3.10.26 opction.value"v3.10.25"> -> v3.10.25 opction.value"v3.10.24"> -> v3.10.24 opction.value"v3.10.23"> -> v3.10.23 opction.value"v3.10.22"> -> v3.10.22 opction.value"v3.10.21"> -> v3.10.21 opction.value"v3.10.20"> -> v3.10.20 opction.value"v3.10.19"> -> v3.10.19 opction.value"v3.10.18"> -> v3.10.18 opction.value"v3.10.17"> -> v3.10.17 opction.value"v3.10.16"> -> v3.10.16 opction.value"v3.10.15"> -> v3.10.15 opction.value"v3.10.14"> -> v3.10.14 opction.value"v3.10.13"> -> v3.10.13 opction.value"v3.10.12"> -> v3.10.12 opction.value"v3.10.11"> -> v3.10.11 opction.value"v3.10.10"> -> v3.10.10 opction.value"v3.10.9"> -> v3.10.9 opction.value"v3.10.8"> -> v3.10.8 opction.value"v3.10.7"> -> v3.10.7 opction.value"v3.10.6"> -> v3.10.6 opction.value"v3.10.5"> -> v3.10.5 opction.value"v3.10.4"> -> v3.10.4 opction.value"v3.10.3"> -> v3.10.3 opction.value"v3.10.2"> -> v3.10.2 opction.value"v3.10.1"> -> v3.10.1 opction.value"v3.10"> -> v3.10 opction.value"v3.9.11"> -> v3.9.11 opction.value"v3.9.10"> -> v3.9.10 opction.value"v3.9.9"> -> v3.9.9 opction.value"v3.9.8"> -> v3.9.8 opction.value"v3.9.7"> -> v3.9.7 opction.value"v3.9.6"> -> v3.9.6 opction.value"v3.9.5"> -> v3.9.5 opction.value"v3.9.4"> -> v3.9.4 opction.value"v3.9.3"> -> v3.9.3 opction.value"v3.9.2"> -> v3.9.2 opction.value"v3.9.1"> -> v3.9.1 opction.value"v3.9"> -> v3.9 opction.value"v3.8.13"> -> v3.8.13 opction.value"v3.8.12"> -> v3.8.12 opction.value"v3.8.11"> -> v3.8.11 opction.value"v3.8.10"> -> v3.8.10 opction.value"v3.8.9"> -> v3.8.9 opction.value"v3.8.8"> -> v3.8.8 opction.value"v3.8.7"> -> v3.8.7 opction.value"v3.8.6"> -> v3.8.6 opction.value"v3.8.5"> -> v3.8.5 opction.value"v3.8.4"> -> v3.8.4 opction.value"v3.8.3"> -> v3.8.3 opction.value"v3.8.2"> -> v3.8.2 opction.value"v3.8.1"> -> v3.8.1 opction.value"v3.8"> -> v3.8 opction.value"v3.7.10"> -> v3.7.10 opction.value"v3.7.9"> -> v3.7.9 opction.value"v3.7.8"> -> v3.7.8 opction.value"v3.7.7"> -> v3.7.7 opction.value"v3.7.6"> -> v3.7.6 opction.value"v3.7.5"> -> v3.7.5 opction.value"v3.7.4"> -> v3.7.4 opction.value"v3.7.3"> -> v3.7.3 opction.value"v3.7.2"> -> v3.7.2 opction.value"v3.7.1"> -> v3.7.1 opction.value"v3.7"> -> v3.7 opction.value"v3.6.11"> -> v3.6.11 opction.value"v3.6.10"> v3.6.10 opction.value"v3.6.9"> -> v3.6.9 opction.value"v3.6.8"> -> v3.6.8 opction.value"v3.6.7"> -> v3.6.7 opction.value"v3.6.6"> -> v3.6.6 opction.value"v3.6.5"> -> v3.6.5 opction.value"v3.6.4"> -> v3.6.4 opction.value"v3.6.3"> -> v3.6.3 opction.value"v3.6.2"> -> v3.6.2 opction.value"v3.6.1"> -> v3.6.1 opction.value"v3.6"> -> v3.6 opction.value"v3.5.7"> -> v3.5.7 opction.value"v3.5.6"> -> v3.5.6 opction.value"v3.5.5"> -> v3.5.5 opction.value"v3.5.4"> -> v3.5.4 opction.value"v3.5.3"> -> v3.5.3 opction.value"v3.5.2"> -> v3.5.2 opction.value"v3.5.1"> -> v3.5.1 opction.value"v3.5"> -> v3.5 opction.value"v3.4.113"> -> v3.4.113 opction.value"v3.4.112"> -> v3.4.112 opction.value"v3.4.111"> -> v3.4.111 opction.value"v3.4.110"> -> v3.4.110 opction.value"v3.4.109"> -> v3.4.109 opction.value"v3.4.108"> -> v3.4.108 opction.value"v3.4.107"> -> v3.4.107 opction.value"v3.4.106"> -> v3.4.106 opction.value"v3.4.105"> -> v3.4.105 opction.value"v3.4.104"> -> v3.4.104 opction.value"v3.4.103"> -> v3.4.103 opction.value"v3.4.102"> -> v3.4.102 opction.value"v3.4.101"> -> v3.4.101 opction.value"v3.4.100"> -> v3.4.100 opction.value"v3.4.99"> -> v3.4.99 opction.value"v3.4.98"> -> v3.4.98 opction.value"v3.4.97"> -> v3.4.97 opction.value"v3.4.96"> -> v3.4.96 opction.value"v3.4.95"> -> v3.4.95 opction.value"v3.4.94"> -> v3.4.94 opction.value"v3.4.93"> -> v3.4.93 opction.value"v3.4.92"> -> v3.4.92 opction.value"v3.4.91"> -> v3.4.91 opction.value"v3.4.90"> -> v3.4.90 opction.value"v3.4.89"> -> v3.4.89 opction.value"v3.4.88"> -> v3.4.88 opction.value"v3.4.87"> -> v3.4.87 opction.value"v3.4.86"> -> v3.4.86 opction.value"v3.4.85"> -> v3.4.85 opction.value"v3.4.84"> -> v3.4.84 opction.value"v3.4.83"> -> v3.4.83 opction.value"v3.4.82"> -> v3.4.82 opction.value"v3.4.81"> -> v3.4.81 opction.value"v3.4.80"> -> v3.4.80 opction.value"v3.4.79"> -> v3.4.79 opction.value"v3.4.78"> -> v3.4.78 opction.value"v3.4.77"> -> v3.4.77 opction.value"v3.4.76"> -> v3.4.76 opction.value"v3.4.75"> -> v3.4.75 opction.value"v3.4.74"> -> v3.4.74 opction.value"v3.4.73"> -> v3.4.73 opction.value"v3.4.72"> -> v3.4.72 opction.value"v3.4.71"> -> v3.4.71 opction.value"v3.4.70"> -> v3.4.70 opction.value"v3.4.69"> -> v3.4.69 opction.value"v3.4.68"> -> v3.4.68 opction.value"v3.4.67"> -> v3.4.67 opction.value"v3.4.66"> -> v3.4.66 opction.value"v3.4.65"> -> v3.4.65 opction.value"v3.4.64"> -> v3.4.64 opction.value"v3.4.63"> -> v3.4.63 opction.value"v3.4.62"> -> v3.4.62 opction.value"v3.4.61"> -> v3.4.61 opction.value"v3.4.60"> -> v3.4.60 opction.value"v3.4.59"> -> v3.4.59 opction.value"v3.4.58"> -> v3.4.58 opction.value"v3.4.57"> -> v3.4.57 opction.value"v3.4.56"> -> v3.4.56 opction.value"v3.4.55"> -> v3.4.55 opction.value"v3.4.54"> -> v3.4.54 opction.value"v3.4.53"> -> v3.4.53 opction.value"v3.4.52"> -> v3.4.52 opction.value"v3.4.51"> -> v3.4.51 opction.value"v3.4.50"> -> v3.4.50 opction.value"v3.4.49"> -> v3.4.49 opction.value"v3.4.48"> -> v3.4.48 opction.value"v3.4.47"> -> v3.4.47 opction.value"v3.4.46"> -> v3.4.46 opction.value"v3.4.45"> -> v3.4.45 opction.value"v3.4.44"> -> v3.4.44 opction.value"v3.4.43"> -> v3.4.43 opction.value"v3.4.42"> -> v3.4.42 opction.value"v3.4.41"> -> v3.4.41 opction.value"v3.4.40"> -> v3.4.40 opction.value"v3.4.39"> -> v3.4.39 opction.value"v3.4.38"> -> v3.4.38 opction.value"v3.4.37"> -> v3.4.37 opction.value"v3.4.36"> -> v3.4.36 opction.value"v3.4.35"> -> v3.4.35 opction.value"v3.4.34"> -> v3.4.34 opction.value"v3.4.33"> -> v3.4.33 opction.value"v3.4.32"> -> v3.4.32 opction.value"v3.4.31"> -> v3.4.31 opction.value"v3.4.30"> -> v3.4.30 opction.value"v3.4.29"> -> v3.4.29 opction.value"v3.4.28"> -> v3.4.28 opction.value"v3.4.27"> -> v3.4.27 opction.value"v3.4.26"> -> v3.4.26 opction.value"v3.4.25"> -> v3.4.25 opction.value"v3.4.24"> -> v3.4.24 opction.value"v3.4.23"> -> v3.4.23 opction.value"v3.4.22"> -> v3.4.22 opction.value"v3.4.21"> -> v3.4.21 opction.value"v3.4.20"> -> v3.4.20 opction.value"v3.4.19"> -> v3.4.19 opction.value"v3.4.18"> -> v3.4.18 opction.value"v3.4.17"> -> v3.4.17 opction.value"v3.4.16"> -> v3.4.16 opction.value"v3.4.15"> -> v3.4.15 opction.value"v3.4.14"> -> v3.4.14 opction.value"v3.4.13"> -> v3.4.13 opction.value"v3.4.12"> -> v3.4.12 opction.value"v3.4.11"> -> v3.4.11 opction.value"v3.4.10"> -> v3.4.10 opction.value"v3.4.9"> -> v3.4.9 opction.value"v3.4.8"> -> v3.4.8 opction.value"v3.4.7"> -> v3.4.7 opction.value"v3.4.6"> -> v3.4.6 opction.value"v3.4.5"> -> v3.4.5 opction.value"v3.4.4"> -> v3.4.4 opction.value"v3.4.3"> -> v3.4.3 opction.value"v3.4.2"> -> v3.4.2 opction.value"v3.4.1"> -> v3.4.1 opction.value"v3.4"> -> v3.4 opction.value"v3.3.8"> -> v3.3.8 opction.value"v3.3.7"> -> v3.3.7 opction.value"v3.3.6"> -> v3.3.6 opction.value"v3.3.5"> -> v3.3.5 opction.value"v3.3.4"> -> v3.3.4 opction.value"v3.3.3"> -> v3.3.3 opction.value"v3.3.2"> -> v3.3.2 opction.value"v3.3.1"> -> v3.3.1 opction.value"v3.3"> -> v3.3 opction.value"v3.2.84"> -> v3.2.84 opction.value"v3.2.83"> -> v3.2.83 opction.value"v3.2.82"> -> v3.2.82 opction.value"v3.2.81"> -> v3.2.81 opction.value"v3.2.80"> -> v3.2.80 opction.value"v3.2.79"> -> v3.2.79 opction.value"v3.2.78"> -> v3.2.78 opction.value"v3.2.77"> -> v3.2.77 opction.value"v3.2.76"> -> v3.2.76 opction.value"v3.2.75"> -> v3.2.75 opction.value"v3.2.74"> -> v3.2.74 opction.value"v3.2.73"> -> v3.2.73 opction.value"v3.2.72"> -> v3.2.72 opction.value"v3.2.71"> -> v3.2.71 opction.value"v3.2.70"> -> v3.2.70 opction.value"v3.2.69"> -> v3.2.69 opction.value"v3.2.68"> -> v3.2.68 opction.value"v3.2.67"> -> v3.2.67 opction.value"v3.2.66"> -> v3.2.66 opction.value"v3.2.65"> -> v3.2.65 opction.value"v3.2.64"> -> v3.2.64 opction.value"v3.2.63"> -> v3.2.63 opction.value"v3.2.62"> -> v3.2.62 opction.value"v3.2.61"> -> v3.2.61 opction.value"v3.2.60"> -> v3.2.60 opction.value"v3.2.59"> -> v3.2.59 opction.value"v3.2.58"> -> v3.2.58 opction.value"v3.2.57"> -> v3.2.57 opction.value"v3.2.56"> -> v3.2.56 opction.value"v3.2.55"> -> v3.2.55 opction.value"v3.2.54"> -> v3.2.54 opction.value"v3.2.53"> -> v3.2.53 opction.value"v3.2.52"> -> v3.2.52 opction.value"v3.2.51"> -> v3.2.51 opction.value"v3.2.50"> -> v3.2.50 opction.value"v3.2.49"> -> v3.2.49 opction.value"v3.2.48"> -> v3.2.48 opction.value"v3.2.47"> -> v3.2.47 opction.value"v3.2.46"> -> v3.2.46 opction.value"v3.2.45"> -> v3.2.45 opction.value"v3.2.44"> -> v3.2.44 opction.value"v3.2.43"> -> v3.2.43 opction.value"v3.2.42"> -> v3.2.42 opction.value"v3.2.41"> -> v3.2.41 opction.value"v3.2.40"> -> v3.2.40 opction.value"v3.2.39"> -> v3.2.39 opction.value"v3.2.38"> -> v3.2.38 opction.value"v3.2.37"> -> v3.2.37 opction.value"v3.2.36"> -> v3.2.36 opction.value"v3.2.35"> -> v3.2.35 opction.value"v3.2.34"> -> v3.2.34 opction.value"v3.2.33"> -> v3.2.33 opction.value"v3.2.32"> -> v3.2.32 opction.value"v3.2.31"> -> v3.2.31 opction.value"v3.2.30"> -> v3.2.30 opction.value"v3.2.29"> -> v3.2.29 opction.value"v3.2.28"> -> v3.2.28 opction.value"v3.2.27"> -> v3.2.27 opction.value"v3.2.26"> -> v3.2.26 opction.value"v3.2.25"> -> v3.2.25 opction.value"v3.2.24"> -> v3.2.24 opction.value"v3.2.23"> -> v3.2.23 opction.value"v3.2.22"> -> v3.2.22 opction.value"v3.2.21"> -> v3.2.21 opction.value"v3.2.20"> -> v3.2.20 opction.value"v3.2.19"> -> v3.2.19 opction.value"v3.2.18"> -> v3.2.18 opction.value"v3.2.17"> -> v3.2.17 opction.value"v3.2.16"> -> v3.2.16 opction.value"v3.2.15"> -> v3.2.15 opction.value"v3.2.14"> -> v3.2.14 opction.value"v3.2.13"> -> v3.2.13 opction.value"v3.2.12"> -> v3.2.12 opction.value"v3.2.11"> -> v3.2.11 opction.value"v3.2.10"> -> v3.2.10 opction.value"v3.2.9"> -> v3.2.9 opction.value"v3.2.8"> -> v3.2.8 opction.value"v3.2.7"> -> v3.2.7 opction.value"v3.2.6"> -> v3.2.6 opction.value"v3.2.5"> -> v3.2.5 opction.value"v3.2.4"> -> v3.2.4 opction.value"v3.2.3"> -> v3.2.3 opction.value"v3.2.2"> -> v3.2.2 opction.value"v3.2.1"> -> v3.2.1 opction.value"v3.2"> -> v3.2 opction.value"v3.1.10"> -> v3.1.10 opction.value"v3.1.9"> -> v3.1.9 opction.value"v3.1.8"> -> v3.1.8 opction.value"v3.1.7"> -> v3.1.7 opction.value"v3.1.6"> -> v3.1.6 opction.value"v3.1.5"> -> v3.1.5 opction.value"v3.1.4"> -> v3.1.4 opction.value"v3.1.3"> -> v3.1.3 opction.value"v3.1.2"> -> v3.1.2 opction.value"v3.1.1"> -> v3.1.1 opction.value"v3.1"> -> v3.1 opction.value"v3.0.101"> -> v3.0.101 opction.value"v3.0.100"> -> v3.0.100 opction.value"v3.0.99"> -> v3.0.99 opction.value"v3.0.98"> -> v3.0.98 opction.value"v3.0.97"> -> v3.0.97 opction.value"v3.0.96"> -> v3.0.96 opction.value"v3.0.95"> -> v3.0.95 opction.value"v3.0.94"> -> v3.0.94 opction.value"v3.0.93"> -> v3.0.93 opction.value"v3.0.92"> -> v3.0.92 opction.value"v3.0.91"> -> v3.0.91 opction.value"v3.0.90"> -> v3.0.90 opction.value"v3.0.89"> -> v3.0.89 opction.value"v3.0.88"> -> v3.0.88 opction.value"v3.0.87"> -> v3.0.87 opction.value"v3.0.86"> -> v3.0.86 opction.value"v3.0.85"> -> v3.0.85 opction.value"v3.0.84"> -> v3.0.84 opction.value"v3.0.83"> -> v3.0.83 opction.value"v3.0.82"> -> v3.0.82 opction.value"v3.0.81"> -> v3.0.81 opction.value"v3.0.80"> -> v3.0.80 opction.value"v3.0.79"> -> v3.0.79 opction.value"v3.0.78"> -> v3.0.78 opction.value"v3.0.77"> -> v3.0.77 opction.value"v3.0.76"> -> v3.0.76 opction.value"v3.0.75"> -> v3.0.75 opction.value"v3.0.74"> -> v3.0.74 opction.value"v3.0.73"> -> v3.0.73 opction.value"v3.0.72"> -> v3.0.72 opction.value"v3.0.71"> -> v3.0.71 opction.value"v3.0.70"> -> v3.0.70 opction.value"v3.0.69"> -> v3.0.69 opction.value"v3.0.68"> -> v3.0.68 opction.value"v3.0.67"> -> v3.0.67 opction.value"v3.0.66"> -> v3.0.66 opction.value"v3.0.65"> -> v3.0.65 opction.value"v3.0.64"> -> v3.0.64 opction.value"v3.0.63"> -> v3.0.63 opction.value"v3.0.62"> -> v3.0.62 opction.value"v3.0.61"> -> v3.0.61 opction.value"v3.0.60"> -> v3.0.60 opction.value"v3.0.59"> -> v3.0.59 opction.value"v3.0.58"> -> v3.0.58 opction.value"v3.0.57"> -> v3.0.57 opction.value"v3.0.56"> -> v3.0.56 opction.value"v3.0.55"> -> v3.0.55 opction.value"v3.0.54"> -> v3.0.54 opction.value"v3.0.53"> -> v3.0.53 opction.value"v3.0.52"> -> v3.0.52 opction.value"v3.0.51"> -> v3.0.51 opction.value"v3.0.50"> -> v3.0.50 opction.value"v3.0.49"> -> v3.0.49 opction.value"v3.0.48"> -> v3.0.48 opction.value"v3.0.47"> -> v3.0.47 opction.value"v3.0.46"> -> v3.0.46 opction.value"v3.0.45"> -> v3.0.45 opction.value"v3.0.44"> -> v3.0.44 opction.value"v3.0.43"> -> v3.0.43 opction.value"v3.0.42"> -> v3.0.42 opction.value"v3.0.41"> -> v3.0.41 opction.value"v3.0.40"> -> v3.0.40 opction.value"v3.0.39"> -> v3.0.39 opction.value"v3.0.38"> -> v3.0.38 opction.value"v3.0.37"> -> v3.0.37 opction.value"v3.0.36"> -> v3.0.36 opction.value"v3.0.35"> -> v3.0.35 opction.value"v3.0.34"> -> v3.0.34 opction.value"v3.0.33"> -> v3.0.33 opction.value"v3.0.32"> -> v3.0.32 opction.value"v3.0.31"> -> v3.0.31 opction.value"v3.0.30"> -> v3.0.30 opction.value"v3.0.29"> -> v3.0.29 opction.value"v3.0.28"> -> v3.0.28 opction.value"v3.0.27"> -> v3.0.27 opction.value"v3.0.26"> -> v3.0.26 opction.value"v3.0.25"> -> v3.0.25 opction.value"v3.0.24"> -> v3.0.24 opction.value"v3.0.23"> -> v3.0.23 opction.value"v3.0.22"> -> v3.0.22 opction.value"v3.0.21"> -> v3.0.21 opction.value"v3.0.20"> -> v3.0.20 opction.value"v3.0.19"> -> v3.0.19 opction.value"v3.0.18"> -> v3.0.18 opction.value"v3.0.17"> -> v3.0.17 opction.value"v3.0.16"> -> v3.0.16 opction.value"v3.0.15"> -> v3.0.15 opction.value"v3.0.14"> -> v3.0.14 opction.value"v3.0.13"> -> v3.0.13 opction.value"v3.0.12"> -> v3.0.12 opction.value"v3.0.11"> -> v3.0.11 opction.value"v3.0.10"> -> v3.0.10 opction.value"v3.0.9"> -> v3.0.9 opction.value"v3.0.8"> -> v3.0.8 opction.value"v3.0.7"> -> v3.0.7 opction.value"v3.0.6"> -> v3.0.6 opction.value"v3.0.5"> -> v3.0.5 opction.value"v3.0.4"> -> v3.0.4 opction.value"v3.0.3"> -> v3.0.3 opction.value"v3.0.2"> -> v3.0.2 opction.value"v3.0.1"> -> v3.0.1 opction.value"v3.0"> -> v3.0 opction.value"v2.6.39.4"> -> v2.6.39.4 opction.value"v2.6.39.3"> -> v2.6.39.3 opction.value"v2.6.39.2"> -> v2.6.39.2 opction.value"v2.6.39.1"> -> v2.6.39.1 opction.value"v2.6.39"> -> v2.6.39 opction.value"v2.6.38.8"> -> v2.6.38.8 opction.value"v2.6.38.7"> -> v2.6.38.7 opction.value"v2.6.38.6"> -> v2.6.38.6 opction.value"v2.6.38.5"> -> v2.6.38.5 opction.value"v2.6.38.4"> -> v2.6.38.4 opction.value"v2.6.38.3"> -> v2.6.38.3 opction.value"v2.6.38.2"> -> v2.6.38.2 opction.value"v2.6.38.1"> -> v2.6.38.1 opction.value"v2.6.38"> -> v2.6.38 opction.value"v2.6.37.6"> -> v2.6.37.6 opction.value"v2.6.37.5"> -> v2.6.37.5 opction.value"v2.6.37.4"> -> v2.6.37.4 opction.value"v2.6.37.3"> -> v2.6.37.3 opction.value"v2.6.37.2"> -> v2.6.37.2 opction.value"v2.6.37.1"> -> v2.6.37.1 opction.value"v2.6.37"> -> v2.6.37 opction.value"v2.6.36.4"> -> v2.6.36.4 opction.value"v2.6.36.3"> -> v2.6.36.3 opction.value"v2.6.36.2"> -> v2.6.36.2 opction.value"v2.6.36.1"> -> v2.6.36.1 opction.value"v2.6.36"> -> v2.6.36 opction.value"v2.6.35.14"> -> v2.6.35.14 opction.value"v2.6.35.13"> -> v2.6.35.13 opction.value"v2.6.35.12"> -> v2.6.35.12 opction.value"v2.6.35.11"> -> v2.6.35.11 opction.value"v2.6.35.10"> -> v2.6.35.10 opction.value"v2.6.35.9"> -> v2.6.35.9 opction.value"v2.6.35.8"> -> v2.6.35.8 opction.value"v2.6.35.7"> -> v2.6.35.7 opction.value"v2.6.35.6"> -> v2.6.35.6 opction.value"v2.6.35.5"> -> v2.6.35.5 opction.value"v2.6.35.4"> -> v2.6.35.4 opction.value"v2.6.35.3"> -> v2.6.35.3 opction.value"v2.6.35.2"> -> v2.6.35.2 opction.value"v2.6.35.1"> -> v2.6.35.1 opction.value"v2.6.35"> -> v2.6.35 opction.value"v2.6.34.15"> -> v2.6.34.15 opction.value"v2.6.34.14"> -> v2.6.34.14 opction.value"v2.6.34.13"> -> v2.6.34.13 opction.value"v2.6.34.12"> -> v2.6.34.12 opction.value"v2.6.34.11"> -> v2.6.34.11 opction.value"v2.6.34.10"> -> v2.6.34.10 opction.value"v2.6.34.9"> -> v2.6.34.9 opction.value"v2.6.34.8"> -> v2.6.34.8 opction.value"v2.6.34.7"> -> v2.6.34.7 opction.value"v2.6.34.6"> -> v2.6.34.6 opction.value"v2.6.34.5"> -> v2.6.34.5 opction.value"v2.6.34.4"> -> v2.6.34.4 opction.value"v2.6.34.3"> -> v2.6.34.3 opction.value"v2.6.34.2"> -> v2.6.34.2 opction.value"v2.6.34.1"> -> v2.6.34.1 opction.value"v2.6.34"> -> v2.6.34 opction.value"v2.6.33.20"> -> v2.6.33.20 opction.value"v2.6.33.19"> -> v2.6.33.19 opction.value"v2.6.33.18"> -> v2.6.33.18 opction.value"v2.6.33.17"> -> v2.6.33.17 opction.value"v2.6.33.16"> -> v2.6.33.16 opction.value"v2.6.33.15"> -> v2.6.33.15 opction.value"v2.6.33.14"> -> v2.6.33.14 opction.value"v2.6.33.13"> -> v2.6.33.13 opction.value"v2.6.33.12"> -> v2.6.33.12 opction.value"v2.6.33.11"> -> v2.6.33.11 opction.value"v2.6.33.10"> -> v2.6.33.10 opction.value"v2.6.33.9"> -> v2.6.33.9 opction.value"v2.6.33.8"> -> v2.6.33.8 opction.value"v2.6.33.7"> -> v2.6.33.7 opction.value"v2.6.33.6"> -> v2.6.33.6 opction.value"v2.6.33.5"> -> v2.6.33.5 opction.value"v2.6.33.4"> -> v2.6.33.4 opction.value"v2.6.33.3"> -> v2.6.33.3 opction.value"v2.6.33.2"> -> v2.6.33.2 opction.value"v2.6.33.1"> -> v2.6.33.1 opction.value"v2.6.33"> -> v2.6.33 opction.value"v2.6.32.71"> -> v2.6.32.71 opction.value"v2.6.32.70"> -> v2.6.32.70 opction.value"v2.6.32.69"> -> v2.6.32.69 opction.value"v2.6.32.68"> -> v2.6.32.68 opction.value"v2.6.32.67"> -> v2.6.32.67 opction.value"v2.6.32.66"> -> v2.6.32.66 opction.value"v2.6.32.65"> -> v2.6.32.65 opction.value"v2.6.32.64"> -> v2.6.32.64 opction.value"v2.6.32.63"> -> v2.6.32.63 opction.value"v2.6.32.62"> -> v2.6.32.62 opction.value"v2.6.32.61"> -> v2.6.32.61 opction.value"v2.6.32.60"> -> v2.6.32.60 opction.value"v2.6.32.59"> -> v2.6.32.59 opction.value"v2.6.32.58"> -> v2.6.32.58 opction.value"v2.6.32.57"> -> v2.6.32.57 opction.value"v2.6.32.56"> -> v2.6.32.56 opction.value"v2.6.32.55"> -> v2.6.32.55 opction.value"v2.6.32.54"> -> v2.6.32.54 opction.value"v2.6.32.53"> -> v2.6.32.53 opction.value"v2.6.32.52"> -> v2.6.32.52 opction.value"v2.6.32.51"> -> v2.6.32.51 opction.value"v2.6.32.50"> -> v2.6.32.50 opction.value"v2.6.32.49"> -> v2.6.32.49 opction.value"v2.6.32.48"> -> v2.6.32.48 opction.value"v2.6.32.47"> -> v2.6.32.47 opction.value"v2.6.32.46"> -> v2.6.32.46 opction.value"v2.6.32.45"> -> v2.6.32.45 opction.value"v2.6.32.44"> -> v2.6.32.44 opction.value"v2.6.32.43"> -> v2.6.32.43 opction.value"v2.6.32.42"> -> v2.6.32.42 opction.value"v2.6.32.41"> -> v2.6.32.41 opction.value"v2.6.32.40"> -> v2.6.32.40 opction.value"v2.6.32.39"> -> v2.6.32.39 opction.value"v2.6.32.38"> -> v2.6.32.38 opction.value"v2.6.32.37"> -> v2.6.32.37 opction.value"v2.6.32.36"> -> v2.6.32.36 opction.value"v2.6.32.35"> -> v2.6.32.35 opction.value"v2.6.32.34"> -> v2.6.32.34 opction.value"v2.6.32.33"> -> v2.6.32.33 opction.value"v2.6.32.32"> -> v2.6.32.32 opction.value"v2.6.32.31"> -> v2.6.32.31 opction.value"v2.6.32.30"> -> v2.6.32.30 opction.value"v2.6.32.29"> -> v2.6.32.29 opction.value"v2.6.32.28"> -> v2.6.32.28 opction.value"v2.6.32.27"> -> v2.6.32.27 opction.value"v2.6.32.26"> -> v2.6.32.26 opction.value"v2.6.32.25"> -> v2.6.32.25 opction.value"v2.6.32.24"> -> v2.6.32.24 opction.value"v2.6.32.23"> -> v2.6.32.23 opction.value"v2.6.32.22"> -> v2.6.32.22 opction.value"v2.6.32.21"> -> v2.6.32.21 opction.value"v2.6.32.20"> -> v2.6.32.20 opction.value"v2.6.32.19"> -> v2.6.32.19 opction.value"v2.6.32.18"> -> v2.6.32.18 opction.value"v2.6.32.17"> -> v2.6.32.17 opction.value"v2.6.32.16"> -> v2.6.32.16 opction.value"v2.6.32.15"> -> v2.6.32.15 opction.value"v2.6.32.14"> -> v2.6.32.14 opction.value"v2.6.32.13"> -> v2.6.32.13 opction.value"v2.6.32.12"> -> v2.6.32.12 opction.value"v2.6.32.11"> -> v2.6.32.11 opction.value"v2.6.32.10"> -> v2.6.32.10 opction.value"v2.6.32.9"> -> v2.6.32.9 opction.value"v2.6.32.8"> -> v2.6.32.8 opction.value"v2.6.32.7"> -> v2.6.32.7 opction.value"v2.6.32.6"> -> v2.6.32.6 opction.value"v2.6.32.5"> -> v2.6.32.5 opction.value"v2.6.32.4"> -> v2.6.32.4 opction.value"v2.6.32.3"> -> v2.6.32.3 opction.value"v2.6.32.2"> -> v2.6.32.2 opction.value"v2.6.32.1"> -> v2.6.32.1 opction.value"v2.6.32"> -> v2.6.32 opction.value"v2.6.31.14"> -> v2.6.31.14 opction.value"v2.6.31.13"> -> v2.6.31.13 opction.value"v2.6.31.12"> -> v2.6.31.12 opction.value"v2.6.31.11"> -> v2.6.31.11 opction.value"v2.6.31.10"> -> v2.6.31.10 opction.value"v2.6.31.9"> -> v2.6.31.9 opction.value"v2.6.31.8"> -> v2.6.31.8 opction.value"v2.6.31.7"> -> v2.6.31.7 opction.value"v2.6.31.6"> -> v2.6.31.6 opction.value"v2.6.31.5"> -> v2.6.31.5 opction.value"v2.6.31.4"> -> v2.6.31.4 opction.value"v2.6.31.3"> -> v2.6.31.3 opction.value"v2.6.31.2"> -> v2.6.31.2 opction.value"v2.6.31.1"> -> v2.6.31.1 opction.value"v2.6.31"> -> v2.6.31 opction.value"v2.6.30.10"> -> v2.6.30.10 opction.value"v2.6.30.9"> -> v2.6.30.9 opction.value"v2.6.30.8"> -> v2.6.30.8 opction.value"v2.6.30.7"> -> v2.6.30.7 opction.value"v2.6.30.6"> -> v2.6.30.6 opction.value"v2.6.30.5"> -> v2.6.30.5 opction.value"v2.6.30.4"> -> v2.6.30.4 opction.value"v2.6.30.3"> -> v2.6.30.3 opction.value"v2.6.30.2"> -> v2.6.30.2 opction.value"v2.6.30.1"> -> v2.6.30.1 opction.value"v2.6.30"> -> v2.6.30 opction.value"v2.6.29.6"> -> v2.6.29.6 opction.value"v2.6.29.5"> -> v2.6.29.5 opction.value"v2.6.29.4"> -> v2.6.29.4 opction.value"v2.6.29.3"> -> v2.6.29.3 opction.value"v2.6.29.2"> -> v2.6.29.2 opction.value"v2.6.29.1"> -> v2.6.29.1 opction.value"v2.6.29"> -> v2.6.29 opction.value"v2.6.28.10"> -> v2.6.28.10 opction.value"v2.6.28.9"> -> v2.6.28.9 opction.value"v2.6.28.8"> -> v2.6.28.8 opction.value"v2.6.28.7"> -> v2.6.28.7 opction.value"v2.6.28.6"> -> v2.6.28.6 opction.value"v2.6.28.5"> -> v2.6.28.5 opction.value"v2.6.28.4"> -> v2.6.28.4 opction.value"v2.6.28.3"> -> v2.6.28.3 opction.value"v2.6.28.2"> -> v2.6.28.2 opction.value"v2.6.28.1"> -> v2.6.28.1 opction.value"v2.6.28"> -> v2.6.28 opction.value"v2.6.27.62"> -> v2.6.27.62 opction.value"v2.6.27.61"> -> v2.6.27.61 opction.value"v2.6.27.60"> -> v2.6.27.60 opction.value"v2.6.27.59"> -> v2.6.27.59 opction.value"v2.6.27.58"> -> v2.6.27.58 opction.value"v2.6.27.57"> -> v2.6.27.57 opction.value"v2.6.27.56"> -> v2.6.27.56 opction.value"v2.6.27.55"> -> v2.6.27.55 opction.value"v2.6.27.54"> -> v2.6.27.54 opction.value"v2.6.27.53"> -> v2.6.27.53 opction.value"v2.6.27.52"> -> v2.6.27.52 opction.value"v2.6.27.51"> -> v2.6.27.51 opction.value"v2.6.27.50"> -> v2.6.27.50 opction.value"v2.6.27.49"> -> v2.6.27.49 opction.value"v2.6.27.48"> -> v2.6.27.48 opction.value"v2.6.27.47"> -> v2.6.27.47 opction.value"v2.6.27.46"> -> v2.6.27.46 opction.value"v2.6.27.45"> -> v2.6.27.45 opction.value"v2.6.27.44"> -> v2.6.27.44 opction.value"v2.6.27.43"> -> v2.6.27.43 opction.value"v2.6.27.42"> -> v2.6.27.42 opction.value"v2.6.27.41"> -> v2.6.27.41 opction.value"v2.6.27.40"> -> v2.6.27.40 opction.value"v2.6.27.39"> -> v2.6.27.39 opction.value"v2.6.27.38"> -> v2.6.27.38 opction.value"v2.6.27.37"> -> v2.6.27.37 opction.value"v2.6.27.36"> -> v2.6.27.36 opction.value"v2.6.27.35"> -> v2.6.27.35 opction.value"v2.6.27.34"> -> v2.6.27.34 opction.value"v2.6.27.33"> -> v2.6.27.33 opction.value"v2.6.27.32"> -> v2.6.27.32 opction.value"v2.6.27.31"> -> v2.6.27.31 opction.value"v2.6.27.30"> -> v2.6.27.30 opction.value"v2.6.27.29"> -> v2.6.27.29 opction.value"v2.6.27.28"> -> v2.6.27.28 opction.value"v2.6.27.27"> -> v2.6.27.27 opction.value"v2.6.27.26"> -> v2.6.27.26 opction.value"v2.6.27.25"> -> v2.6.27.25 opction.value"v2.6.27.24"> -> v2.6.27.24 opction.value"v2.6.27.23"> -> v2.6.27.23 opction.value"v2.6.27.22"> -> v2.6.27.22 opction.value"v2.6.27.21"> -> v2.6.27.21 opction.value"v2.6.27.20"> -> v2.6.27.20 opction.value"v2.6.27.19"> -> v2.6.27.19 opction.value"v2.6.27.18"> -> v2.6.27.18 opction.value"v2.6.27.17"> -> v2.6.27.17 opction.value"v2.6.27.16"> -> v2.6.27.16 opction.value"v2.6.27.15"> -> v2.6.27.15 opction.value"v2.6.27.14"> -> v2.6.27.14 opction.value"v2.6.27.13"> -> v2.6.27.13 opction.value"v2.6.27.12"> -> v2.6.27.12 opction.value"v2.6.27.11"> -> v2.6.27.11 opction.value"v2.6.27.10"> -> v2.6.27.10 opction.value"v2.6.27.9"> -> v2.6.27.9 opction.value"v2.6.27.8"> -> v2.6.27.8 opction.value"v2.6.27.7"> -> v2.6.27.7 opction.value"v2.6.27.6"> -> v2.6.27.6 opction.value"v2.6.27.5"> -> v2.6.27.5 opction.value"v2.6.27.4"> -> v2.6.27.4 opction.value"v2.6.27.3"> -> v2.6.27.3 opction.value"v2.6.27.2"> -> v2.6.27.2 opction.value"v2.6.27.1"> -> v2.6.27.1 opction.value"v2.6.27"> -> v2.6.27 opction.value"v2.6.26.8"> -> v2.6.26.8 opction.value"v2.6.26.7"> -> v2.6.26.7 opction.value"v2.6.26.6"> -> v2.6.26.6 opction.value"v2.6.26.5"> -> v2.6.26.5 opction.value"v2.6.26.4"> -> v2.6.26.4 opction.value"v2.6.26.3"> -> v2.6.26.3 opction.value"v2.6.26.2"> -> v2.6.26.2 opction.value"v2.6.26.1"> -> v2.6.26.1 opction.value"v2.6.26"> -> v2.6.26 opction.value"v2.6.25.20"> -> v2.6.25.20 opction.value"v2.6.25.19"> -> v2.6.25.19 opction.value"v2.6.25.18"> -> v2.6.25.18 opction.value"v2.6.25.17"> -> v2.6.25.17 opction.value"v2.6.25.16"> -> v2.6.25.16 opction.value"v2.6.25.15"> -> v2.6.25.15 opction.value"v2.6.25.14"> -> v2.6.25.14 opction.value"v2.6.25.13"> -> v2.6.25.13 opction.value"v2.6.25.12"> -> v2.6.25.12 opction.value"v2.6.25.11"> -> v2.6.25.11 opction.value"v2.6.25.10"> -> v2.6.25.10 opction.value"v2.6.25.9"> -> v2.6.25.9 opction.value"v2.6.25.8"> -> v2.6.25.8 opction.value"v2.6.25.7"> -> v2.6.25.7 opction.value"v2.6.25.6"> -> v2.6.25.6 opction.value"v2.6.25.5"> -> v2.6.25.5 opction.value"v2.6.25.4"> -> v2.6.25.4 opction.value"v2.6.25.3"> -> v2.6.25.3 opction.value"v2.6.25.2"> -> v2.6.25.2 opction.value"v2.6.25.1"> -> v2.6.25.1 opction.value"v2.6.25"> -> v2.6.25 opction.value"v2.6.24.7"> -> v2.6.24.7 opction.value"v2.6.24.6"> -> v2.6.24.6 opction.value"v2.6.24.5"> -> v2.6.24.5 opction.value"v2.6.24.4"> -> v2.6.24.4 opction.value"v2.6.24.3"> -> v2.6.24.3 opction.value"v2.6.24.2"> -> v2.6.24.2 opction.value"v2.6.24.1"> -> v2.6.24.1 opction.value"v2.6.24"> -> v2.6.24 opction.value"v2.6.23.17"> -> v2.6.23.17 opction.value"v2.6.23.16"> -> v2.6.23.16 opction.value"v2.6.23.15"> -> v2.6.23.15 opction.value"v2.6.23.14"> -> v2.6.23.14 opction.value"v2.6.23.13"> -> v2.6.23.13 opction.value"v2.6.23.12"> -> v2.6.23.12 opction.value"v2.6.23.11"> -> v2.6.23.11 opction.value"v2.6.23.10"> -> v2.6.23.10 opction.value"v2.6.23.9"> -> v2.6.23.9 opction.value"v2.6.23.8"> -> v2.6.23.8 opction.value"v2.6.23.7"> -> v2.6.23.7 opction.value"v2.6.23.6"> -> v2.6.23.6 opction.value"v2.6.23.5"> -> v2.6.23.5 opction.value"v2.6.23.4"> -> v2.6.23.4 opction.value"v2.6.23.3"> -> v2.6.23.3 opction.value"v2.6.23.2"> -> v2.6.23.2 opction.value"v2.6.23.1"> -> v2.6.23.1 opction.value"v2.6.23"> -> v2.6.23 opction.value"v2.6.22.19"> -> v2.6.22.19 opction.value"v2.6.22.18"> -> v2.6.22.18 opction.value"v2.6.22.17"> -> v2.6.22.17 opction.value"v2.6.22.16"> -> v2.6.22.16 opction.value"v2.6.22.15"> -> v2.6.22.15 opction.value"v2.6.22.14"> -> v2.6.22.14 opction.value"v2.6.22.13"> -> v2.6.22.13 opction.value"v2.6.22.12"> -> v2.6.22.12 opction.value"v2.6.22.11"> -> v2.6.22.11 opction.value"v2.6.22.10"> -> v2.6.22.10 opction.value"v2.6.22.9"> -> v2.6.22.9 opction.value"v2.6.22.8"> -> v2.6.22.8 opction.value"v2.6.22.7"> -> v2.6.22.7 opction.value"v2.6.22.6"> -> v2.6.22.6 opction.value"v2.6.22.5"> -> v2.6.22.5 opction.value"v2.6.22.4"> -> v2.6.22.4 opction.value"v2.6.22.3"> -> v2.6.22.3 opction.value"v2.6.22.2"> -> v2.6.22.2 opction.value"v2.6.22.1"> -> v2.6.22.1 opction.value"v2.6.22"> -> v2.6.22 opction.value"v2.6.21.7"> -> v2.6.21.7 opction.value"v2.6.21.6"> -> v2.6.21.6 opction.value"v2.6.21.5"> -> v2.6.21.5 opction.value"v2.6.21.4"> -> v2.6.21.4 opction.value"v2.6.21.3"> -> v2.6.21.3 opction.value"v2.6.21.2"> -> v2.6.21.2 opction.value"v2.6.21.1"> -> v2.6.21.1 opction.value"v2.6.21"> -> v2.6.21 opction.value"v2.6.20.21"> -> v2.6.20.21 opction.value"v2.6.20.20"> -> v2.6.20.20 opction.value"v2.6.20.19"> -> v2.6.20.19 opction.value"v2.6.20.18"> -> v2.6.20.18 opction.value"v2.6.20.17"> -> v2.6.20.17 opction.value"v2.6.20.16"> -> v2.6.20.16 opction.value"v2.6.20.15"> -> v2.6.20.15 opction.value"v2.6.20.14"> -> v2.6.20.14 opction.value"v2.6.20.13"> -> v2.6.20.13 opction.value"v2.6.20.12"> -> v2.6.20.12 opction.value"v2.6.20.11"> -> v2.6.20.11 opction.value"v2.6.20.10"> -> v2.6.20.10 opction.value"v2.6.20.9"> -> v2.6.20.9 opction.value"v2.6.20.8"> -> v2.6.20.8 opction.value"v2.6.20.7"> -> v2.6.20.7 opction.value"v2.6.20.6"> -> v2.6.20.6 opction.value"v2.6.20.5"> -> v2.6.20.5 opction.value"v2.6.20.4"> -> v2.6.20.4 opction.value"v2.6.20.3"> -> v2.6.20.3 opction.value"v2.6.20.2"> -> v2.6.20.2 opction.value"v2.6.20.1"> -> v2.6.20.1 opction.value"v2.6.20"> -> v2.6.20 opction.value"v2.6.19.7"> -> v2.6.19.7 opction.value"v2.6.19.6"> -> v2.6.19.6 opction.value"v2.6.19.5"> -> v2.6.19.5 opction.value"v2.6.19.4"> -> v2.6.19.4 opction.value"v2.6.19.3"> -> v2.6.19.3 opction.value"v2.6.19.2"> -> v2.6.19.2 opction.value"v2.6.19.1"> -> v2.6.19.1 opction.value"v2.6.19"> -> v2.6.19 opction.value"v2.6.18.8"> -> v2.6.18.8 opction.value"v2.6.18.7"> -> v2.6.18.7 opction.value"v2.6.18.6"> -> v2.6.18.6 opction.value"v2.6.18.5"> -> v2.6.18.5 opction.value"v2.6.18.4"> -> v2.6.18.4 opction.value"v2.6.18.3"> -> v2.6.18.3 opction.value"v2.6.18.2"> -> v2.6.18.2 opction.value"v2.6.18.1"> -> v2.6.18.1 opction.value"v2.6.18"> -> v2.6.18 opction.value"v2.6.17.14"> -> v2.6.17.14 opction.value"v2.6.17.13"> -> v2.6.17.13 opction.value"v2.6.17.12"> -> v2.6.17.12 opction.value"v2.6.17.11"> -> v2.6.17.11 opction.value"v2.6.17.10"> -> v2.6.17.10 opction.value"v2.6.17.9"> -> v2.6.17.9 opction.value"v2.6.17.8"> -> v2.6.17.8 opction.value"v2.6.17.7"> -> v2.6.17.7 opction.value"v2.6.17.6"> -> v2.6.17.6 opction.value"v2.6.17.5"> -> v2.6.17.5 opction.value"v2.6.17.4"> -> v2.6.17.4 opction.value"v2.6.17.3"> -> v2.6.17.3 opction.value"v2.6.17.2"> -> v2.6.17.2 opction.value"v2.6.17.1"> -> v2.6.17.1 opction.value"v2.6.17"> -> v2.6.17 opction.value"v2.6.16.62"> -> v2.6.16.62 opction.value"v2.6.16.61"> -> v2.6.16.61 opction.value"v2.6.16.60"> -> v2.6.16.60 opction.value"v2.6.16.59"> -> v2.6.16.59 opction.value"v2.6.16.58"> -> v2.6.16.58 opction.value"v2.6.16.57"> -> v2.6.16.57 opction.value"v2.6.16.56"> -> v2.6.16.56 opction.value"v2.6.16.55"> -> v2.6.16.55 opction.value"v2.6.16.54"> -> v2.6.16.54 opction.value"v2.6.16.53"> -> v2.6.16.53 opction.value"v2.6.16.52"> -> v2.6.16.52 opction.value"v2.6.16.51"> -> v2.6.16.51 opction.value"v2.6.16.50"> -> v2.6.16.50 opction.value"v2.6.16.49"> -> v2.6.16.49 opction.value"v2.6.16.48"> -> v2.6.16.48 opction.value"v2.6.16.47"> -> v2.6.16.47 opction.value"v2.6.16.46"> -> v2.6.16.46 opction.value"v2.6.16.45"> -> v2.6.16.45 opction.value"v2.6.16.44"> -> v2.6.16.44 opction.value"v2.6.16.43"> -> v2.6.16.43 opction.value"v2.6.16.42"> -> v2.6.16.42 opction.value"v2.6.16.41"> -> v2.6.16.41 opction.value"v2.6.16.40"> -> v2.6.16.40 opction.value"v2.6.16.39"> -> v2.6.16.39 opction.value"v2.6.16.38"> -> v2.6.16.38 opction.value"v2.6.16.37"> -> v2.6.16.37 opction.value"v2.6.16.36"> -> v2.6.16.36 opction.value"v2.6.16.35"> -> v2.6.16.35 opction.value"v2.6.16.34"> -> v2.6.16.34 opction.value"v2.6.16.33"> -> v2.6.16.33 opction.value"v2.6.16.32"> -> v2.6.16.32 opction.value"v2.6.16.31"> -> v2.6.16.31 opction.value"v2.6.16.30"> -> v2.6.16.30 opction.value"v2.6.16.29"> -> v2.6.16.29 opction.value"v2.6.16.28"> -> v2.6.16.28 opction.value"v2.6.16.27"> -> v2.6.16.27 opction.value"v2.6.16.26"> -> v2.6.16.26 opction.value"v2.6.16.25"> -> v2.6.16.25 opction.value"v2.6.16.24"> -> v2.6.16.24 opction.value"v2.6.16.23"> -> v2.6.16.23 opction.value"v2.6.16.22"> -> v2.6.16.22 opction.value"v2.6.16.21"> -> v2.6.16.21 opction.value"v2.6.16.20"> -> v2.6.16.20 opction.value"v2.6.16.19"> -> v2.6.16.19 opction.value"v2.6.16.18"> -> v2.6.16.18 opction.value"v2.6.16.17"> -> v2.6.16.17 opction.value"v2.6.16.16"> -> v2.6.16.16 opction.value"v2.6.16.15"> -> v2.6.16.15 opction.value"v2.6.16.14"> -> v2.6.16.14 opction.value"v2.6.16.13"> -> v2.6.16.13 opction.value"v2.6.16.12"> -> v2.6.16.12 opction.value"v2.6.16.11"> -> v2.6.16.11 opction.value"v2.6.16.10"> -> v2.6.16.10 opction.value"v2.6.16.9"> -> v2.6.16.9 opction.value"v2.6.16.8"> -> v2.6.16.8 opction.value"v2.6.16.7"> -> v2.6.16.7 opction.value"v2.6.16.6"> -> v2.6.16.6 opction.value"v2.6.16.5"> -> v2.6.16.5 opction.value"v2.6.16.4"> -> v2.6.16.4 opction.value"v2.6.16.3"> -> v2.6.16.3 opction.value"v2.6.16.2"> -> v2.6.16.2 opction.value"v2.6.16.1"> -> v2.6.16.1 opction.value"v2.6.16"> -> v2.6.16 opction.value"v2.6.15.7"> -> v2.6.15.7 opction.value"v2.6.15.6"> -> v2.6.15.6 opction.value"v2.6.15.5"> -> v2.6.15.5 opction.value"v2.6.15.4"> -> v2.6.15.4 opction.value"v2.6.15.3"> -> v2.6.15.3 opction.value"v2.6.15.2"> -> v2.6.15.2 opction.value"v2.6.15.1"> -> v2.6.15.1 opction.value"v2.6.15"> -> v2.6.15 opction.value"v2.6.14.7"> -> v2.6.14.7 opction.value"v2.6.14.6"> -> v2.6.14.6 opction.value"v2.6.14.5"> -> v2.6.14.5 opction.value"v2.6.14.4"> -> v2.6.14.4 opction.value"v2.6.14.3"> -> v2.6.14.3 opction.value"v2.6.14.2"> -> v2.6.14.2 opction.value"v2.6.14.1"> -> v2.6.14.1 opction.value"v2.6.14"> -> v2.6.14 opction.value"v2.6.13.5"> -> v2.6.13.5 opction.value"v2.6.13.4"> -> v2.6.13.4 opction.value"v2.6.13.3"> -> v2.6.13.3 opction.value"v2.6.13.2"> -> v2.6.13.2 opction.value"v2.6.13.1"> -> v2.6.13.1 opction.value"v2.6.13"> -> v2.6.13 opction.value"v2.6.12.6"> -> v2.6.12.6 opction.value"v2.6.12.5"> -> v2.6.12.5 opction.value"v2.6.12.4"> -> v2.6.12.4 opction.value"v2.6.12.3"> -> v2.6.12.3 opction.value"v2.6.12.2"> -> v2.6.12.2 opction.value"v2.6.12.1"> -> v2.6.12.1 opction.value"v2.6.12"> -> v2.6.12 opction.value"v2.6.11"> -> v2.6.11 > /spao-> /form-> a > href="../linux+v3.6.11/mm/backing-dev.c">> img src="../.static/gfx/right.png" alt=">>">> /spao->> spao class="lxr_search">>
> input typue"hidden" namue"navtarget" .value"">> input typue"text" namue"search" ide"search">> buttiontypue"submit">Search /form-> /spao->> spao class="lxr_prefs"-> a href="+prefs?return=mm/backing-dev.c"> onclick="return ajax_prefs();">> Prefs> /a>> /spao-> /div-> form acctio="ajax+*" method="post" onsubmit="return false;">> input typue"hidden" namue"ajax_lookup" ide"ajax_lookup" .value"">> /form->> div class="headingbottim"> div ide"search_results" class="search_results"> -> /div-> div ide"content">> div ide"file_contents"-
   1 /a>>   2 /a>#include <linux/wait.h /a>>>   3 /a>#include <linux/backing-dev.h /a>>>   4 /a>#include <linux/kthread.h /a>>>   5 /a>#include <linux/freezer.h /a>>>   6 /a>#include <linux/fs.h /a>>>   7 /a>#include <linux/pagemap.h /a>>>   8 /a>#include <linux/mm.h /a>>>   9 /a>#include <linux/sched.h /a>>>  10#include <linux/module.h /a>>>  11 /a>#include <linux/writeback.h /a>>>  12 /a>#include <linux/device.h /a>>>  13 /a>#include <trace/events/writeback.h /a>>>  14 /a>>  15 /a>static  a href="+code=atimic_long_t" class="sref">atimic_long_t /a>  a href="+code=bdi_seq" class="sref">bdi_seq /a> =  a href="+code=ATOMIC_LONG_INIT" class="sref">ATOMIC_LONG_INIT /a>(0);>  16 /a>>  17 /a>struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a>  a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a> = {>  18 /a>        . a href="+code=namu" class="sref">namu /a>           =  spao class="string">"default" /spao-,>  19 /a>        . a href="+code=ra_pages" class="sref">ra_pages /a>       =  a href="+code=VM_MAX_READAHEAD" class="sref">VM_MAX_READAHEAD /a> * 1024 /  a href="+code=PAGE_CACHE_SIZE" class="sref">PAGE_CACHE_SIZE /a>,>  20 /a>        . a href="+code=statu" class="sref">statu /a>          = 0,>  21 /a>        . a href="+code=capabilities" class="sref">capabilities /a>   =  a href="+code=BDI_CAP_MAP_COPY" class="sref">BDI_CAP_MAP_COPY /a>,>  22 /a>};>  23 /a> a href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPL /a>( a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>);>  24 /a>>  25 /a>struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a>  a href="+code=noop_backing_dev_info" class="sref">noop_backing_dev_info /a> = {>  26 /a>        . a href="+code=namu" class="sref">namu /a>           =  spao class="string">"noop" /spao-,>  27 /a>        . a href="+code=capabilities" class="sref">capabilities /a>   =  a href="+code=BDI_CAP_NO_ACCT_AND_WRITEBACK" class="sref">BDI_CAP_NO_ACCT_AND_WRITEBACK /a>,>  28 /a>};>  29 /a> a href="+code=EXPORT_SYMBOL_GPL" class="sref">EXPORT_SYMBOL_GPL /a>( a href="+code=noop_backing_dev_info" class="sref">noop_backing_dev_info /a>);>  30 /a>>  31 /a>static struct  a href="+code=class" class="sref">class /a> * a href="+code=bdi_class" class="sref">bdi_class /a>;>  32 /a>>  33 /a> spao class="comment">/* /spao->  34 /a> spao class="comment"> * bdi_lock protects updatus to bdi_list and bdi_pending_list, as well as /spao->  35 /a> spao class="comment"> * reader side protecttionfor bdi_pending_list. bdi_list has RCU reader side /spao->  36 /a> spao class="comment"> * locking. /spao->  37 /a> spao class="comment"> */ /spao->  38 /a> a href="+code=DEFINE_SPINLOCK" class="sref">DEFINE_SPINLOCK /a>( a href="+code=bdi_lock" class="sref">bdi_lock /a>);>  39 /a> a href="+code=LIST_HEAD" class="sref">LIST_HEAD /a>( a href="+code=bdi_list" class="sref">bdi_list /a>);>  40 /a> a href="+code=LIST_HEAD" class="sref">LIST_HEAD /a>( a href="+code=bdi_pending_list" class="sref">bdi_pending_list /a>);>  41 /a>>  42 /a>void  a href="+code=bdi_lock_two" class="sref">bdi_lock_two /a>(struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=wb1" class="sref">wb1 /a>, struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=wb2" class="sref">wb2 /a>)>  43 /a>{>  44 /a>        if ( a href="+code=wb1" class="sref">wb1 /a> <  a href="+code=wb2" class="sref">wb2 /a>) {>  45 /a>            
    a href="+code=spin_lock" class="sref">spin_lock /a>(& a href="+code=wb1" class="sref">wb1 /a>-> a href="+code=list_lock" class="sref">list_lock /a>);>  46 /a>            
    a href="+code=spin_lock_nested" class="sref">spin_lock_nested /a>(& a href="+code=wb2" class="sref">wb2 /a>-> a href="+code=list_lock" class="sref">list_lock /a>, 1);>  47 /a>        } else {>  48 /a>            
    a href="+code=spin_lock" class="sref">spin_lock /a>(& a href="+code=wb2" class="sref">wb2 /a>-> a href="+code=list_lock" class="sref">list_lock /a>);>  49 /a>            
    a href="+code=spin_lock_nested" class="sref">spin_lock_nested /a>(& a href="+code=wb1" class="sref">wb1 /a>-> a href="+code=list_lock" class="sref">list_lock /a>, 1);>  50 /a>        }>  51 /a>}>  52 /a>>  53 /a>#ifdef  a href="+code=CONFIG_DEBUG_FS" class="sref">CONFIG_DEBUG_FS /a>>  54 /a>#include <linux/debugfs.h /a>>>  55 /a>#include <linux/seq_file.h /a>>>  56 /a>>  57 /a>static struct  a href="+code=dentry" class="sref">dentry /a> * a href="+code=bdi_debug_root" class="sref">bdi_debug_root /a>;>  58 /a>>  59 /a>static void  a href="+code=bdi_debug_init" class="sref">bdi_debug_init /a>(void)>  60 /a>{>  61 /a>         a href="+code=bdi_debug_root" class="sref">bdi_debug_root /a> =  a href="+code=debugfs_create_dir" class="sref">debugfs_create_dir /a>( spao class="string">"bdi" /spao-,  a href="+code=NULL" class="sref">NULL /a>);>  62 /a>}>  63 /a>>  64 /a>static int  a href="+code=bdi_debug_stats_show" class="sref">bdi_debug_stats_show /a>(struct  a href="+code=seq_file" class="sref">seq_file /a> * a href="+code=m" class="sref">m /a>, void * a href="+code=v" class="sref">v /a>)>  65 /a>{>  66 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> =  a href="+code=m" class="sref">m /a>-> a href="+code=privatu" class="sref">privatu /a>;>  67 /a>        struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=wb" class="sref">wb /a> = & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>;>  68 /a>        unsigned long  a href="+code=background_thresh" class="sref">background_thresh /a>;>  69 /a>        unsigned long  a href="+code=dirty_thresh" class="sref">dirty_thresh /a>;>  70 /a>        unsigned long  a href="+code=bdi_thresh" class="sref">bdi_thresh /a>;>  71 /a>        unsigned long  a href="+code=nr_dirty" class="sref">nr_dirty /a>,  a href="+code=nr_io" class="sref">nr_io /a>,  a href="+code=nr_more_io" class="sref">nr_more_io /a>;>  72 /a>        struct  a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>;>  73 /a>>  74 /a>         a href="+code=nr_dirty" class="sref">nr_dirty /a> =  a href="+code=nr_io" class="sref">nr_io /a> =  a href="+code=nr_more_io" class="sref">nr_more_io /a> = 0;>  75 /a>         a href="+code=spin_lock" class="sref">spin_lock /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=list_lock" class="sref">list_lock /a>);>  76 /a>         a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=inode" class="sref">inode /a>, & a href="+code=wb" class="sref">wb /a>-> a href="+code=b_dirty" class="sref">b_dirty /a>,  a href="+code=i_wb_list" class="sref">i_wb_list /a>)>  77 /a>                 a href="+code=nr_dirty" class="sref">nr_dirty /a>++;>  78 /a>         a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=inode" class="sref">inode /a>, & a href="+code=wb" class="sref">wb /a>-> a href="+code=b_io" class="sref">b_io /a>,  a href="+code=i_wb_list" class="sref">i_wb_list /a>)>  79 /a>            
    a href="+code=nr_io" class="sref">nr_io /a>++;>  80 /a>         a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=inode" class="sref">inode /a>, & a href="+code=wb" class="sref">wb /a>-> a href="+code=b_more_io" class="sref">b_more_io /a>,  a href="+code=i_wb_list" class="sref">i_wb_list /a>)>  81 /a>            
    a href="+code=nr_more_io" class="sref">nr_more_io /a>++;>  82 /a>         a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=list_lock" class="sref">list_lock /a>);>  83 /a>>  84 /a>         a href="+code=global_dirty_limits" class="sref">global_dirty_limits /a>(& a href="+code=background_thresh" class="sref">background_thresh /a>, & a href="+code=dirty_thresh" class="sref">dirty_thresh /a>);>  85 /a>         a href="+code=bdi_thresh" class="sref">bdi_thresh /a> =  a href="+code=bdi_dirty_limit" class="sref">bdi_dirty_limit /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=dirty_thresh" class="sref">dirty_thresh /a>);>  86 /a>>  87 /a>#define  a href="+code=K" class="sref">K /a>( a href="+code=x" class="sref">x /a>) (( a href="+code=x" class="sref">x /a>) << ( a href="+code=PAGE_SHIFT" class="sref">PAGE_SHIFT /a> - 10))>  88 /a>         a href="+code=seq_printf" class="sref">seq_printf /a>( a href="+code=m" class="sref">m /a>,>  89 /a>            
       spao class="string">"BdiWriteback:
      %10lu kB\n" /spao->  90 /a>            
       spao class="string">"BdiReclaimable:     %10lu kB\n" /spao->  91 /a>            
       spao class="string">"BdiDirtyThresh:     %10lu kB\n" /spao->  92 /a>            
       spao class="string">"DirtyThresh:        %10lu kB\n" /spao->  93 /a>            
       spao class="string">"BackgroundThresh:   %10lu kB\n" /spao->  94 /a>            
       spao class="string">"BdiDirtied:         %10lu kB\n" /spao->  95 /a>            
       spao class="string">"BdiWritten:         %10lu kB\n" /spao->  96 /a>            
       spao class="string">"BdiWriteBandwidth:  %10lu kBps\n" /spao->  97 /a>                    spao class="string">"b_dirty:            %10lu\n" /spao->  98 /a>            
       spao class="string">"b_io:        
      %10lu\n" /spao->  99 /a>            
       spao class="string">"b_more_io:   
      %10lu\n" /spao-> 100 /a>            
       spao class="string">"bdi_list:        
  %10u\n" /spao-> 101 /a>            
       spao class="string">"statu:        
     %10lx\n" /spao-,> 102 /a>            
      (unsigned long)  a href="+code=K" class="sref">K /a>( a href="+code=bdi_stat" class="sref">bdi_stat /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=BDI_WRITEBACK" class="sref">BDI_WRITEBACK /a>)),> 103 /a>            
      (unsigned long)  a href="+code=K" class="sref">K /a>( a href="+code=bdi_stat" class="sref">bdi_stat /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=BDI_RECLAIMABLE" class="sref">BDI_RECLAIMABLE /a>)),> 104 /a>            
       a href="+code=K" class="sref">K /a>( a href="+code=bdi_thresh" class="sref">bdi_thresh /a>),> 105 /a>            
       a href="+code=K" class="sref">K /a>( a href="+code=dirty_thresh" class="sref">dirty_thresh /a>),> 106 /a>            
       a href="+code=K" class="sref">K /a>( a href="+code=background_thresh" class="sref">background_thresh /a>),> 107 /a>                   (unsigned long)  a href="+code=K" class="sref">K /a>( a href="+code=bdi_stat" class="sref">bdi_stat /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=BDI_DIRTIED" class="sref">BDI_DIRTIED /a>)),> 108 /a>            
      (unsigned long)  a href="+code=K" class="sref">K /a>( a href="+code=bdi_stat" class="sref">bdi_stat /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=BDI_WRITTEN" class="sref">BDI_WRITTEN /a>)),> 109 /a>            
      (unsigned long)  a href="+code=K" class="sref">K /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=write_bandwidth" class="sref">write_bandwidth /a>),> 110 /a>            
       a href="+code=nr_dirty" class="sref">nr_dirty /a>,> 111 /a>            
       a href="+code=nr_io" class="sref">nr_io /a>,> 112 /a>            
       a href="+code=nr_more_io" class="sref">nr_more_io /a>,> 113 /a>            
      ! a href="+code=list_empty" class="sref">list_empty /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_list" class="sref">bdi_list /a>),  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=statu" class="sref">statu /a>);> 114 /a>#undef  a href="+code=K" class="sref">K /a>> 115 /a>> 116 /a>        return 0;> 117 /a>}> 118 /a>> 119 /a>static int  a href="+code=bdi_debug_stats_open" class="sref">bdi_debug_stats_open /a>(struct  a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>, struct  a href="+code=file" class="sref">file /a> * a href="+code=file" class="sref">file /a>)> 120 /a>{> 121 /a>        return  a href="+code=single_open" class="sref">single_open /a>( a href="+code=file" class="sref">file /a>,  a href="+code=bdi_debug_stats_show" class="sref">bdi_debug_stats_show /a>,  a href="+code=inode" class="sref">inode /a>-> a href="+code=i_privatu" class="sref">i_privatu /a>);> 122 /a>}> 123 /a>> 124 /a>static const struct  a href="+code=file_operattios" class="sref">file_operattios /a>  a href="+code=bdi_debug_stats_fops" class="sref">bdi_debug_stats_fops /a> = {> 125 /a>        . a href="+code=open" class="sref">open /a>    
      =  a href="+code=bdi_debug_stats_open" class="sref">bdi_debug_stats_open /a>,> 126 /a>        . a href="+code=read" class="sref">read /a>    
      =  a href="+code=seq_read" class="sref">seq_read /a>,> 127 /a>        . a href="+code=llseek" class="sref">llseek /a>    
    =  a href="+code=seq_lseek" class="sref">seq_lseek /a>,> 128 /a>        . a href="+code=releasu" class="sref">releasu /a>        =  a href="+code=single_releasu" class="sref">single_releasu /a>,> 129 /a>};> 130 /a>> 131 /a>static void  a href="+code=bdi_debug_register" class="sref">bdi_debug_register /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>, const char * a href="+code=namu" class="sref">namu /a>)> 132 /a>{> 133 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=debug_dir" class="sref">debug_dir /a> =  a href="+code=debugfs_create_dir" class="sref">debugfs_create_dir /a>( a href="+code=namu" class="sref">namu /a>,  a href="+code=bdi_debug_root" class="sref">bdi_debug_root /a>);> 134 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=debug_stats" class="sref">debug_stats /a> =  a href="+code=debugfs_create_file" class="sref">debugfs_create_file /a>( spao class="string">"stats" /spao-, 0444,  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=debug_dir" class="sref">debug_dir /a>,> 135 /a>            
                                   a href="+code=bdi" class="sref">bdi /a>, & a href="+code=bdi_debug_stats_fops" class="sref">bdi_debug_stats_fops /a>);> 136 /a>}> 137 /a>> 138 /a>static void  a href="+code=bdi_debug_unregister" class="sref">bdi_debug_unregister /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 139 /a>{> 140 /a>         a href="+code=debugfs_remove" class="sref">debugfs_remove /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=debug_stats" class="sref">debug_stats /a>);> 141 /a>         a href="+code=debugfs_remove" class="sref">debugfs_remove /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=debug_dir" class="sref">debug_dir /a>);> 142 /a>}> 143 /a>#else> 144 /a>static  a href="+code=inline" class="sref">inline /a> void  a href="+code=bdi_debug_init" class="sref">bdi_debug_init /a>(void)> 145 /a>{> 146 /a>}> 147 /a>static  a href="+code=inline" class="sref">inline /a> void  a href="+code=bdi_debug_register" class="sref">bdi_debug_register /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>,> 148 /a>            
                         const char * a href="+code=namu" class="sref">namu /a>)> 149 /a>{> 150 /a>}> 151 /a>static  a href="+code=inline" class="sref">inline /a> void  a href="+code=bdi_debug_unregister" class="sref">bdi_debug_unregister /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 152 /a>{> 153 /a>}> 154 /a>#endif> 155 /a>> 156 /a>static  a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=read_ahead_kb_storu" class="sref">read_ahead_kb_storu /a>(struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a>,> 157 /a>                                  struct  a href="+code=device_attributu" class="sref">device_attributu /a> * a href="+code=attr" class="sref">attr /a>,> 158 /a>            
                     const char * a href="+code=buf" class="sref">buf /a>,  a href="+code=size_t" class="sref">size_t /a>  a href="+code=count" class="sref">count /a>)> 159 /a>{> 160 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> =  a href="+code=dev_get_drvdata" class="sref">dev_get_drvdata /a>( a href="+code=dev" class="sref">dev /a>);> 161 /a>        char * a href="+code=end" class="sref">end /a>;> 162 /a>        unsigned long  a href="+code=read_ahead_kb" class="sref">read_ahead_kb /a>;> 163 /a>         a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=ret" class="sref">ret /a> = - a href="+code=EINVAL" class="sref">EINVAL /a>;> 164 /a>> 165 /a>         a href="+code=read_ahead_kb" class="sref">read_ahead_kb /a> =  a href="+code=simple_strtoul" class="sref">simple_strtoul /a>( a href="+code=buf" class="sref">buf /a>, & a href="+code=end" class="sref">end /a>, 10);> 166 /a>        if (* a href="+code=buf" class="sref">buf /a> && ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\0' /spao- || ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\n' /spao- &&  a href="+code=end" class="sref">end /a>[1] ==  spao class="string">'\0' /spao-))) {> 167 /a>                 a href="+code=bdi" class="sref">bdi /a>-> a href="+code=ra_pages" class="sref">ra_pages /a> =  a href="+code=read_ahead_kb" class="sref">read_ahead_kb /a> >> ( a href="+code=PAGE_SHIFT" class="sref">PAGE_SHIFT /a> - 10);> 168 /a>            
    a href="+code=ret" class="sref">ret /a> =  a href="+code=count" class="sref">count /a>;> 169 /a>        }> 170 /a>        return  a href="+code=ret" class="sref">ret /a>;> 171 /a>}> 172 /a>> 173 /a>#define  a href="+code=K" class="sref">K /a>( a href="+code=pages" class="sref">pages /a>) (( a href="+code=pages" class="sref">pages /a>) << ( a href="+code=PAGE_SHIFT" class="sref">PAGE_SHIFT /a> - 10))> 174 /a>> 175 /a>#define  a href="+code=BDI_SHOW" class="sref">BDI_SHOW /a>( a href="+code=namu" class="sref">namu /a>,  a href="+code=expr" class="sref">expr /a>)                                            \> 176 /a>static  a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=namu" class="sref">namu /a>##_show(struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a>,                          \> 177 /a>                           struct  a href="+code=device_attributu" class="sref">device_attributu /a> * a href="+code=attr" class="sref">attr /a>, char * a href="+code=page" class="sref">page /a>)   \> 178 /a>{                                                                       \> 179 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> =  a href="+code=dev_get_drvdata" class="sref">dev_get_drvdata /a>( a href="+code=dev" class="sref">dev /a>);            \> 180 /a>            
                                                           \> 181 /a>        return  a href="+code=snprintf" class="sref">snprintf /a>( a href="+code=page" class="sref">page /a>,  a href="+code=PAGE_SIZE" class="sref">PAGE_SIZE /a>-1,  spao class="string">"%lld\n" /spao-, (long long) a href="+code=expr" class="sref">expr /a>);  \> 182 /a>}> 183 /a>> 184 /a> a href="+code=BDI_SHOW" class="sref">BDI_SHOW /a>( a href="+code=read_ahead_kb" class="sref">read_ahead_kb /a>,  a href="+code=K" class="sref">K /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=ra_pages" class="sref">ra_pages /a>))> 185 /a>> 186 /a>static  a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=min_ratti_storu" class="sref">min_ratti_storu /a>(struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a>,> 187 /a>                struct  a href="+code=device_attributu" class="sref">device_attributu /a> * a href="+code=attr" class="sref">attr /a>, const char * a href="+code=buf" class="sref">buf /a>,  a href="+code=size_t" class="sref">size_t /a>  a href="+code=count" class="sref">count /a>)> 188 /a>{> 189 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> =  a href="+code=dev_get_drvdata" class="sref">dev_get_drvdata /a>( a href="+code=dev" class="sref">dev /a>);> 190 /a>        char * a href="+code=end" class="sref">end /a>;> 191 /a>        unsigned int  a href="+code=ratti" class="sref">ratio /a>;> 192 /a>         a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=ret" class="sref">ret /a> = - a href="+code=EINVAL" class="sref">EINVAL /a>;> 193 /a>> 194 /a>         a href="+code=ratti" class="sref">ratio /a> =  a href="+code=simple_strtoul" class="sref">simple_strtoul /a>( a href="+code=buf" class="sref">buf /a>, & a href="+code=end" class="sref">end /a>, 10);> 195 /a>        if (* a href="+code=buf" class="sref">buf /a> && ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\0' /spao- || ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\n' /spao- &&  a href="+code=end" class="sref">end /a>[1] ==  spao class="string">'\0' /spao-))) {> 196 /a>            
    a href="+code=ret" class="sref">ret /a> =  a href="+code=bdi_set_min_ratti" class="sref">bdi_set_min_ratti /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=ratti" class="sref">ratio /a>);> 197 /a>                if (! a href="+code=ret" class="sref">ret /a>)> 198 /a>            
       
    a href="+code=ret" class="sref">ret /a> =  a href="+code=count" class="sref">count /a>;> 199 /a>        }> 200 /a>        return  a href="+code=ret" class="sref">ret /a>;> 201 /a>}> 202 /a> a href="+code=BDI_SHOW" class="sref">BDI_SHOW /a>( a href="+code=min_ratti" class="sref">min_ratti /a>,  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=min_ratti" class="sref">min_ratti /a>)> 203 /a>> 204 /a>static  a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=max_ratti_storu" class="sref">max_ratti_storu /a>(struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a>,> 205 /a>            
   struct  a href="+code=device_attributu" class="sref">device_attributu /a> * a href="+code=attr" class="sref">attr /a>, const char * a href="+code=buf" class="sref">buf /a>,  a href="+code=size_t" class="sref">size_t /a>  a href="+code=count" class="sref">count /a>)> 206 /a>{> 207 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> =  a href="+code=dev_get_drvdata" class="sref">dev_get_drvdata /a>( a href="+code=dev" class="sref">dev /a>);> 208 /a>        char * a href="+code=end" class="sref">end /a>;> 209 /a>        unsigned int  a href="+code=ratti" class="sref">ratio /a>;> 210 /a>         a href="+code=ssize_t" class="sref">ssize_t /a>  a href="+code=ret" class="sref">ret /a> = - a href="+code=EINVAL" class="sref">EINVAL /a>;> 211 /a>> 212 /a>         a href="+code=ratti" class="sref">ratio /a> =  a href="+code=simple_strtoul" class="sref">simple_strtoul /a>( a href="+code=buf" class="sref">buf /a>, & a href="+code=end" class="sref">end /a>, 10);> 213 /a>        if (* a href="+code=buf" class="sref">buf /a> && ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\0' /spao- || ( a href="+code=end" class="sref">end /a>[0] ==  spao class="string">'\n' /spao- &&  a href="+code=end" class="sref">end /a>[1] ==  spao class="string">'\0' /spao-))) {> 214 /a>            
    a href="+code=ret" class="sref">ret /a> =  a href="+code=bdi_set_max_ratti" class="sref">bdi_set_max_ratti /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=ratti" class="sref">ratio /a>);> 215 /a>            
   if (! a href="+code=ret" class="sref">ret /a>)> 216 /a>            
       
    a href="+code=ret" class="sref">ret /a> =  a href="+code=count" class="sref">count /a>;> 217 /a>        }> 218 /a>        return  a href="+code=ret" class="sref">ret /a>;> 219 /a>}> 220 /a> a href="+code=BDI_SHOW" class="sref">BDI_SHOW /a>( a href="+code=max_ratti" class="sref">max_ratti /a>,  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=max_ratti" class="sref">max_ratti /a>)> 221 /a>> 222 /a>#define  a href="+code=__ATTR_RW" class="sref">__ATTR_RW /a>( a href="+code=attr" class="sref">attr /a>)  a href="+code=__ATTR" class="sref">__ATTR /a>( a href="+code=attr" class="sref">attr /a>, 0644,  a href="+code=attr" class="sref">attr /a>##_show,  a href="+code=attr" class="sref">attr /a>##_storu)> 223 /a>> 224 /a>static struct  a href="+code=device_attributu" class="sref">device_attributu /a>  a href="+code=bdi_dev_attrs" class="sref">bdi_dev_attrs /a>[] = {> 225 /a>         a href="+code=__ATTR_RW" class="sref">__ATTR_RW /a>( a href="+code=read_ahead_kb" class="sref">read_ahead_kb /a>),> 226 /a>         a href="+code=__ATTR_RW" class="sref">__ATTR_RW /a>( a href="+code=min_ratti" class="sref">min_ratti /a>),> 227 /a>         a href="+code=__ATTR_RW" class="sref">__ATTR_RW /a>( a href="+code=max_ratti" class="sref">max_ratti /a>),> 228 /a>         a href="+code=__ATTR_NULL" class="sref">__ATTR_NULL /a>,> 229 /a>};> 230 /a>> 231 /a>static  a href="+code=__init" class="sref">__init /a> int  a href="+code=bdi_class_init" class="sref">bdi_class_init /a>(void)> 232 /a>{> 233 /a>         a href="+code=bdi_class" class="sref">bdi_class /a> =  a href="+code=class_create" class="sref">class_create /a>( a href="+code=THIS_MODULE" class="sref">THIS_MODULE /a>,  spao class="string">"bdi" /spao-);> 234 /a>        if ( a href="+code=IS_ERR" class="sref">IS_ERR /a>( a href="+code=bdi_class" class="sref">bdi_class /a>))> 235 /a>            
   return  a href="+code=PTR_ERR" class="sref">PTR_ERR /a>( a href="+code=bdi_class" class="sref">bdi_class /a>);> 236 /a>> 237 /a>         a href="+code=bdi_class" class="sref">bdi_class /a>-> a href="+code=dev_attrs" class="sref">dev_attrs /a> =  a href="+code=bdi_dev_attrs" class="sref">bdi_dev_attrs /a>;> 238 /a>         a href="+code=bdi_debug_init" class="sref">bdi_debug_init /a>();> 239 /a>        return 0;> 240 /a>}> 241 /a> a href="+code=postcore_initcall" class="sref">postcore_initcall /a>( a href="+code=bdi_class_init" class="sref">bdi_class_init /a>);> 242 /a>> 243 /a>static int  a href="+code=__init" class="sref">__init /a>  a href="+code=default_bdi_init" class="sref">default_bdi_init /a>(void)> 244 /a>{> 245 /a>        int  a href="+code=err" class="sref">err /a>;> 246 /a>> 247 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=bdi_init" class="sref">bdi_init /a>(& a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>);> 248 /a>        if (! a href="+code=err" class="sref">err /a>)> 249 /a>            
    a href="+code=bdi_register" class="sref">bdi_register /a>(& a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>,  a href="+code=NULL" class="sref">NULL /a>,  spao class="string">"default" /spao-);> 250 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=bdi_init" class="sref">bdi_init /a>(& a href="+code=noop_backing_dev_info" class="sref">noop_backing_dev_info /a>);> 251 /a>> 252 /a>        return  a href="+code=err" class="sref">err /a>;> 253 /a>}> 254 /a> a href="+code=subsys_initcall" class="sref">subsys_initcall /a>( a href="+code=default_bdi_init" class="sref">default_bdi_init /a>);> 255 /a>> 256 /a>int  a href="+code=bdi_has_dirty_ti" class="sref">bdi_has_dirty_ti /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 257 /a>{> 258 /a>        return  a href="+code=wb_has_dirty_ti" class="sref">wb_has_dirty_ti /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>);> 259 /a>}> 260 /a>> 261 /a>static void  a href="+code=wakeup_timer_fn" class="sref">wakeup_timer_fn /a>(unsigned long  a href="+code=data" class="sref">data /a>)> 262 /a>{> 263 /a>        struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a> = (struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> *) a href="+code=data" class="sref">data /a>;> 264 /a>> 265 /a>         a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 266 /a>        if ( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a>) {> 267 /a>                 a href="+code=trace_writeback_wake_thread" class="sref">trace_writeback_wake_thread /a>( a href="+code=bdi" class="sref">bdi /a>);> 268 /a>            
    a href="+code=wake_up_process" class="sref">wake_up_process /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a>);> 269 /a>        } else if ( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a>) {> 270 /a>            
    spao class="comment">/* /spao-> 271 /a> spao class="comment">            
    * When bdi tasks are inactive for long time, they are killed. /spao-> 272 /a> spao class="comment">            
    * In this case we have to wake-up the forker thread which /spao-> 273 /a> spao class="comment">            
    * should create and run the bdi thread. /spao-> 274 /a> spao class="comment">            
    */ /spao-> 275 /a>            
    a href="+code=trace_writeback_wake_forker_thread" class="sref">trace_writeback_wake_forker_thread /a>( a href="+code=bdi" class="sref">bdi /a>);> 276 /a>            
    a href="+code=wake_up_process" class="sref">wake_up_process /a>( a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>. a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a>);> 277 /a>        }> 278 /a>         a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 279 /a>}> 280 /a>> 281 /a> spao class="comment">/* /spao-> 282 /a> spao class="comment"> * This functtio is used when the first inode for this bdi is marked dirty. It /spao-> 283 /a> spao class="comment"> * wakes-up the corresponding bdi thread which should then take care of the /spao-> 284 /a> spao class="comment"> * periodic background write-out of dirty inodes. Since the write-out would /spao-> 285 /a> spao class="comment"> * starts only 'dirty_writeback_interval' centisecs from now anyway, we just /spao-> 286 /a> spao class="comment"> * set up a timer which wakes the bdi thread up later. /spao-> 287 /a> spao class="comment"> * /spao-> 288 /a> spao class="comment"> * Note, we wouldn't bother setting up the timer, but this functtio is on the /spao-> 289 /a> spao class="comment"> * fast-path (used by '__mark_inode_dirty()'), so we save few context switches /spao-> 290 /a> spao class="comment"> * by delaying the wake-up. /spao-> 291 /a> spao class="comment"> */ /spao-> 292 /a>void  a href="+code=bdi_wakeup_thread_delayed" class="sref">bdi_wakeup_thread_delayed /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 293 /a>{> 294 /a>        unsigned long  a href="+code=timeout" class="sref">timeout /a>;> 295 /a>> 296 /a>         a href="+code=timeout" class="sref">timeout /a> =  a href="+code=msecs_to_jiffies" class="sref">msecs_to_jiffies /a>( a href="+code=dirty_writeback_interval" class="sref">dirty_writeback_interval /a> * 10);> 297 /a>         a href="+code=mod_timer" class="sref">mod_timer /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=wakeup_timer" class="sref">wakeup_timer /a>,  a href="+code=jiffies" class="sref">jiffies /a> +  a href="+code=timeout" class="sref">timeout /a>);> 298 /a>}> 299 /a>> 300 /a> spao class="comment">/* /spao-> 301 /a> spao class="comment"> * Calculate the longest interval (jiffies) bdi threads are allowed to be /spao-> 302 /a> spao class="comment"> * inactive. /spao-> 303 /a> spao class="comment"> */ /spao-> 304 /a>static unsigned long  a href="+code=bdi_longest_inactive" class="sref">bdi_longest_inactive /a>(void)> 305 /a>{> 306 /a>        unsigned long  a href="+code=interval" class="sref">interval /a>;> 307 /a>> 308 /a>         a href="+code=interval" class="sref">interval /a> =  a href="+code=msecs_to_jiffies" class="sref">msecs_to_jiffies /a>( a href="+code=dirty_writeback_interval" class="sref">dirty_writeback_interval /a> * 10);> 309 /a>        return  a href="+code=max" class="sref">max /a>(5UL * 60 *  a href="+code=HZ" class="sref">HZ /a>,  a href="+code=interval" class="sref">interval /a>);> 310 /a>}> 311 /a>> 312 /a> spao class="comment">/* /spao-> 313 /a> spao class="comment"> * Clear pending bit and wakeup anybody waiting for flusher thread creattio or /spao-> 314 /a> spao class="comment"> * shutdown /spao-> 315 /a> spao class="comment"> */ /spao-> 316 /a>static void  a href="+code=bdi_clear_pending" class="sref">bdi_clear_pending /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 317 /a>{> 318 /a>         a href="+code=clear_bit" class="sref">clear_bit /a>( a href="+code=BDI_pending" class="sref">BDI_pending /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>);> 319 /a>         a href="+code=smp_mb__after_clear_bit" class="sref">smp_mb__after_clear_bit /a>();> 320 /a>         a href="+code=wake_up_bit" class="sref">wake_up_bit /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>,  a href="+code=BDI_pending" class="sref">BDI_pending /a>);> 321 /a>}> 322 /a>> 323 /a>static int  a href="+code=bdi_forker_thread" class="sref">bdi_forker_thread /a>(void * a href="+code=ptr" class="sref">ptr /a>)> 324 /a>{> 325 /a>        struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=mu" class="sref">mu /a> =  a href="+code=ptr" class="sref">ptr /a>;> 326 /a>> 327 /a>         a href="+code=current" class="sref">current /a>-> a href="+code=flags" class="sref">flags /a> |=  a href="+code=PF_SWAPWRITE" class="sref">PF_SWAPWRITE /a>;> 328 /a>         a href="+code=set_freezable" class="sref">set_freezable /a>();> 329 /a>> 330 /a>         spao class="comment">/* /spao-> 331 /a> spao class="comment">         * Our parent may run at a different priority, just set us to normal /spao-> 332 /a> spao class="comment">         */ /spao-> 333 /a>         a href="+code=set_user_nice" class="sref">set_user_nice /a>( a href="+code=current" class="sref">current /a>, 0);> 334 /a>> 335 /a>        for (;;) {> 336 /a>            
   struct  a href="+code=task_struct" class="sref">task_struct /a> * a href="+code=task" class="sref">task /a> =  a href="+code=NULL" class="sref">NULL /a>;> 337 /a>                struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>;> 338 /a>            
   enum {> 339 /a>            
            a href="+code=NO_ACTION" class="sref">NO_ACTION /a>,    spao class="comment">/* Nothing to do */ /spao-> 340 /a>            
            a href="+code=FORK_THREAD" class="sref">FORK_THREAD /a>,  spao class="comment">/* Fork bdi thread */ /spao-> 341 /a>            
            a href="+code=KILL_THREAD" class="sref">KILL_THREAD /a>,  spao class="comment">/* Kill inactive bdi thread */ /spao-> 342 /a>            
   }  a href="+code=acttio" class="sref">acttio /a> =  a href="+code=NO_ACTION" class="sref">NO_ACTION /a>;> 343 /a>> 344 /a>            
    spao class="comment">/* /spao-> 345 /a> spao class="comment">                 * Temporary measure, we want to make sure we don't see /spao-> 346 /a> spao class="comment">                 * dirty data on the default backing_dev_info /spao-> 347 /a> spao class="comment">                 */ /spao-> 348 /a>            
   if ( a href="+code=wb_has_dirty_ti" class="sref">wb_has_dirty_ti /a>( a href="+code=mu" class="sref">mu /a>) || ! a href="+code=list_empty" class="sref">list_empty /a>(& a href="+code=mu" class="sref">mu /a>-> a href="+code=bdi" class="sref">bdi /a>-> a href="+code=work_list" class="sref">work_list /a>)) {> 349 /a>            
            a href="+code=del_timer" class="sref">del_timer /a>(& a href="+code=mu" class="sref">mu /a>-> a href="+code=wakeup_timer" class="sref">wakeup_timer /a>);> 350 /a>            
            a href="+code=wb_do_writeback" class="sref">wb_do_writeback /a>( a href="+code=mu" class="sref">mu /a>, 0);> 351 /a>            
   }> 352 /a>> 353 /a>            
    a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 354 /a>            
    spao class="comment">/* /spao-> 355 /a> spao class="comment">                 * In the following loop we are going to check whether we have /spao-> 356 /a> spao class="comment">                 * some work to do without any synchronizattio with tasks /spao-> 357 /a> spao class="comment">                 * waking us up to do work for them. Set the task state here /spao-> 358 /a> spao class="comment">                 * so that we don't miss wakeups after verifying condittios. /spao-> 359 /a> spao class="comment">                 */ /spao-> 360 /a>            
    a href="+code=set_current_state" class="sref">set_current_state /a>( a href="+code=TASK_INTERRUPTIBLE" class="sref">TASK_INTERRUPTIBLE /a>);> 361 /a>> 362 /a>            
    a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=bdi" class="sref">bdi /a>, & a href="+code=bdi_list" class="sref">bdi_list /a>,  a href="+code=bdi_list" class="sref">bdi_list /a>) {> 363 /a>            
       
    a href="+code=bool" class="sref">bool /a>  a href="+code=have_dirty_ti" class="sref">have_dirty_ti /a>;> 364 /a>> 365 /a>            
           if (! a href="+code=bdi_cap_writeback_dirty" class="sref">bdi_cap_writeback_dirty /a>( a href="+code=bdi" class="sref">bdi /a>) ||> 366 /a>            
       
    
    a href="+code=bdi_cap_flush_forker" class="sref">bdi_cap_flush_forker /a>( a href="+code=bdi" class="sref">bdi /a>))> 367 /a>                                continue;> 368 /a>> 369 /a>            
            a href="+code=WARN" class="sref">WARN /a>(! a href="+code=test_bit" class="sref">test_bit /a>( a href="+code=BDI_registered" class="sref">BDI_registered /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>),> 370 /a>            
    
            spao class="string">"bdi %p/%s is not registered!\n" /spao-,  a href="+code=bdi" class="sref">bdi /a>,  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=namu" class="sref">namu /a>);> 371 /a>> 372 /a>            
            a href="+code=have_dirty_ti" class="sref">have_dirty_ti /a> = ! a href="+code=list_empty" class="sref">list_empty /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=work_list" class="sref">work_list /a>) ||> 373 /a>            
       
       
            a href="+code=wb_has_dirty_ti" class="sref">wb_has_dirty_ti /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>);> 374 /a>> 375 /a>            
            spao class="comment">/* /spao-> 376 /a> spao class="comment">                         * If the bdi has work to do, but the thread does not /spao-> 377 /a> spao class="comment">                         * exist - create it. /spao-> 378 /a> spao class="comment">                         */ /spao-> 379 /a>            
           if (! a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a> &&  a href="+code=have_dirty_ti" class="sref">have_dirty_ti /a>) {> 380 /a>            
    
               spao class="comment">/* /spao-> 381 /a> spao class="comment">            
    
               * Set the pending bit - if someone will try to /spao-> 382 /a> spao class="comment">            
    
               * unregister this bdi - it'll wait on this bit. /spao-> 383 /a> spao class="comment">            
    
               */ /spao-> 384 /a>            
    
               a href="+code=set_bit" class="sref">set_bit /a>( a href="+code=BDI_pending" class="sref">BDI_pending /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>);> 385 /a>            
                    a href="+code=acttio" class="sref">acttio /a> =  a href="+code=FORK_THREAD" class="sref">FORK_THREAD /a>;> 386 /a>            
       
    
      break;> 387 /a>                        }> 388 /a>> 389 /a>            
            a href="+code=spin_lock" class="sref">spin_lock /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 390 /a>> 391 /a>            
            spao class="comment">/* /spao-> 392 /a> spao class="comment">            
    
       * If there is no work to do and the bdi thread was /spao-> 393 /a> spao class="comment">            
    
       * inactive long enough - kill it. The wb_lock is taken /spao-> 394 /a> spao class="comment">            
    
       * to make sure no-one adds more work to this bdi and /spao-> 395 /a> spao class="comment">                 
       * wakes the bdi thread up. /spao-> 396 /a> spao class="comment">                         */ /spao-> 397 /a>                        if ( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a> && ! a href="+code=have_dirty_ti" class="sref">have_dirty_ti /a> &&> 398 /a>            
                a href="+code=time_after" class="sref">time_after /a>( a href="+code=jiffies" class="sref">jiffies /a>,  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=last_active" class="sref">last_active /a> +> 399 /a>            
                   
                a href="+code=bdi_longest_inactive" class="sref">bdi_longest_inactive /a>())) {> 400 /a>            
    
               a href="+code=task" class="sref">task /a> =  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a>;> 401 /a>            
                    a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a> =  a href="+code=NULL" class="sref">NULL /a>;> 402 /a>            
                    a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 403 /a>            
       
       
    a href="+code=set_bit" class="sref">set_bit /a>( a href="+code=BDI_pending" class="sref">BDI_pending /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>);> 404 /a>            
    
               a href="+code=acttio" class="sref">acttio /a> =  a href="+code=KILL_THREAD" class="sref">KILL_THREAD /a>;> 405 /a>            
                   break;> 406 /a>            
       
   }> 407 /a>                         a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 408 /a>            
   }> 409 /a>            
    a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 410 /a>> 411 /a>            
    spao class="comment">/* Keep working if default bdi still has things to do */ /spao-> 412 /a>            
   if (! a href="+code=list_empty" class="sref">list_empty /a>(& a href="+code=mu" class="sref">mu /a>-> a href="+code=bdi" class="sref">bdi /a>-> a href="+code=work_list" class="sref">work_list /a>))> 413 /a>            
       
    a href="+code=__set_current_state" class="sref">__set_current_state /a>( a href="+code=TASK_RUNNING" class="sref">TASK_RUNNING /a>);> 414 /a>> 415 /a>            
   switch ( a href="+code=acttio" class="sref">acttio /a>) {> 416 /a>            
   case  a href="+code=FORK_THREAD" class="sref">FORK_THREAD /a>:> 417 /a>                         a href="+code=__set_current_state" class="sref">__set_current_state /a>( a href="+code=TASK_RUNNING" class="sref">TASK_RUNNING /a>);> 418 /a>            
            a href="+code=task" class="sref">task /a> =  a href="+code=kthread_create" class="sref">kthread_create /a>( a href="+code=bdi_writeback_thread" class="sref">bdi_writeback_thread /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>,> 419 /a>            
                   
              spao class="string">"flush-%s" /spao-,  a href="+code=dev_namu" class="sref">dev_namu /a>( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a>));> 420 /a>            
    
      if ( a href="+code=IS_ERR" class="sref">IS_ERR /a>( a href="+code=task" class="sref">task /a>)) {> 421 /a>            
                    spao class="comment">/* /spao-> 422 /a> spao class="comment">            
    
               * If thread creattio fails, force writeout of /spao-> 423 /a> spao class="comment">            
    
               * the bdi from the thread. Hopefully 1024 is /spao-> 424 /a> spao class="comment">            
    
               * large enough for efficient IO. /spao-> 425 /a> spao class="comment">                 
               */ /spao-> 426 /a>            
       
    
       a href="+code=writeback_inodes_wb" class="sref">writeback_inodes_wb /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>, 1024,> 427 /a>                                
       
    
       a href="+code=WB_REASON_FORKER_THREAD" class="sref">WB_REASON_FORKER_THREAD /a>);> 428 /a>            
           } else {> 429 /a>            
                    spao class="comment">/* /spao-> 430 /a> spao class="comment">                                 * The spinlock makes sure we do not lose /spao-> 431 /a> spao class="comment">                                 * wake-ups when racing with 'bdi_queue_work()'. /spao-> 432 /a> spao class="comment">                                 * And as soio as the bdi thread is visible, we /spao-> 433 /a> spao class="comment">            
    
               * cao start it. /spao-> 434 /a> spao class="comment">            
    
               */ /spao-> 435 /a>            
                    a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 436 /a>            
                    a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a> =  a href="+code=task" class="sref">task /a>;> 437 /a>                                 a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 438 /a>            
                    a href="+code=wake_up_process" class="sref">wake_up_process /a>( a href="+code=task" class="sref">task /a>);> 439 /a>            
           }> 440 /a>            
            a href="+code=bdi_clear_pending" class="sref">bdi_clear_pending /a>( a href="+code=bdi" class="sref">bdi /a>);> 441 /a>            
           break;> 442 /a>> 443 /a>            
   case  a href="+code=KILL_THREAD" class="sref">KILL_THREAD /a>:> 444 /a>            
            a href="+code=__set_current_state" class="sref">__set_current_state /a>( a href="+code=TASK_RUNNING" class="sref">TASK_RUNNING /a>);> 445 /a>            
            a href="+code=kthread_stop" class="sref">kthread_stop /a>( a href="+code=task" class="sref">task /a>);> 446 /a>            
            a href="+code=bdi_clear_pending" class="sref">bdi_clear_pending /a>( a href="+code=bdi" class="sref">bdi /a>);> 447 /a>                        break;> 448 /a>> 449 /a>            
   case  a href="+code=NO_ACTION" class="sref">NO_ACTION /a>:> 450 /a>            
           if (! a href="+code=wb_has_dirty_ti" class="sref">wb_has_dirty_ti /a>( a href="+code=mu" class="sref">mu /a>) || ! a href="+code=dirty_writeback_interval" class="sref">dirty_writeback_interval /a>)> 451 /a>            
       
            spao class="comment">/* /spao-> 452 /a> spao class="comment">                                 * There are no dirty data. The only thing we /spao-> 453 /a> spao class="comment">            
    
               * should now care about is checking for /spao-> 454 /a> spao class="comment">            
    
               * inactive bdi threads and killing them. Thus, /spao-> 455 /a> spao class="comment">                 
               * let's sleep for longer time, save energy and /spao-> 456 /a> spao class="comment">                 
               * be friendly for battery-driven devices. /spao-> 457 /a> spao class="comment">                 
               */ /spao-> 458 /a>            
                    a href="+code=schedule_timeout" class="sref">schedule_timeout /a>( a href="+code=bdi_longest_inactive" class="sref">bdi_longest_inactive /a>());> 459 /a>            
           else> 460 /a>            
                    a href="+code=schedule_timeout" class="sref">schedule_timeout /a>( a href="+code=msecs_to_jiffies" class="sref">msecs_to_jiffies /a>( a href="+code=dirty_writeback_interval" class="sref">dirty_writeback_interval /a> * 10));> 461 /a>            
            a href="+code=try_to_freeze" class="sref">try_to_freeze /a>();> 462 /a>            
           break;> 463 /a>            
   }> 464 /a>        }> 465 /a>> 466 /a>        return 0;> 467 /a>}> 468 /a>> 469 /a> spao class="comment">/* /spao-> 470 /a> spao class="comment"> * Remove bdi from bdi_list, and ensure that it is no longer visible /spao-> 471 /a> spao class="comment"> */ /spao-> 472 /a>static void  a href="+code=bdi_remove_from_list" class="sref">bdi_remove_from_list /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 473 /a>{> 474 /a>         a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 475 /a>         a href="+code=list_del_rcu" class="sref">list_del_rcu /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_list" class="sref">bdi_list /a>);> 476 /a>         a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 477 /a>> 478 /a>         a href="+code=synchronize_rcu_expedited" class="sref">synchronize_rcu_expedited /a>();> 479 /a>}> 480 /a>> 481 /a>int  a href="+code=bdi_register" class="sref">bdi_register /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>, struct  a href="+code=device" class="sref">device /a> * a href="+code=parent" class="sref">parent /a>,> 482 /a>            
   const char * a href="+code=fmt" class="sref">fmt /a>, ...)> 483 /a>{> 484 /a>         a href="+code=va_list" class="sref">va_list /a>  a href="+code=args" class="sref">args /a>;> 485 /a>        struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a>;> 486 /a>> 487 /a>        if ( a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a>)    spao class="comment">/* The driver needs to use separate queues per device */ /spao-> 488 /a>            
   return 0;> 489 /a>> 490 /a>         a href="+code=va_start" class="sref">va_start /a>( a href="+code=args" class="sref">args /a>,  a href="+code=fmt" class="sref">fmt /a>);> 491 /a>         a href="+code=dev" class="sref">dev /a> =  a href="+code=device_create_vargs" class="sref">device_create_vargs /a>( a href="+code=bdi_class" class="sref">bdi_class /a>,  a href="+code=parent" class="sref">parent /a>,  a href="+code=MKDEV" class="sref">MKDEV /a>(0, 0),  a href="+code=bdi" class="sref">bdi /a>,  a href="+code=fmt" class="sref">fmt /a>,  a href="+code=args" class="sref">args /a>);> 492 /a>         a href="+code=va_end" class="sref">va_end /a>( a href="+code=args" class="sref">args /a>);> 493 /a>        if ( a href="+code=IS_ERR" class="sref">IS_ERR /a>( a href="+code=dev" class="sref">dev /a>))> 494 /a>            
   return  a href="+code=PTR_ERR" class="sref">PTR_ERR /a>( a href="+code=dev" class="sref">dev /a>);> 495 /a>> 496 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a> =  a href="+code=dev" class="sref">dev /a>;> 497 /a>> 498 /a>         spao class="comment">/* /spao-> 499 /a> spao class="comment">         * Just start the forker thread for our default backing_dev_info, /spao-> 500 /a> spao class="comment">         * and add other bdi's to the list. They will get a thread created /spao-> 501 /a> spao class="comment">         * on-demand when they need it. /spao-> 502 /a> spao class="comment">         */ /spao-> 503 /a>        if ( a href="+code=bdi_cap_flush_forker" class="sref">bdi_cap_flush_forker /a>( a href="+code=bdi" class="sref">bdi /a>)) {> 504 /a>            
   struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=wb" class="sref">wb /a> = & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>;> 505 /a>> 506 /a>            
    a href="+code=wb" class="sref">wb /a>-> a href="+code=task" class="sref">task /a> =  a href="+code=kthread_ruo" class="sref">kthread_ruo /a>( a href="+code=bdi_forker_thread" class="sref">bdi_forker_thread /a>,  a href="+code=wb" class="sref">wb /a>,  spao class="string">"bdi-%s" /spao-,> 507 /a>                                                 a href="+code=dev_namu" class="sref">dev_namu /a>( a href="+code=dev" class="sref">dev /a>));> 508 /a>            
   if ( a href="+code=IS_ERR" class="sref">IS_ERR /a>( a href="+code=wb" class="sref">wb /a>-> a href="+code=task" class="sref">task /a>))> 509 /a>            
           return  a href="+code=PTR_ERR" class="sref">PTR_ERR /a>( a href="+code=wb" class="sref">wb /a>-> a href="+code=task" class="sref">task /a>);> 510 /a>        }> 511 /a>> 512 /a>         a href="+code=bdi_debug_register" class="sref">bdi_debug_register /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=dev_namu" class="sref">dev_namu /a>( a href="+code=dev" class="sref">dev /a>));> 513 /a>         a href="+code=set_bit" class="sref">set_bit /a>( a href="+code=BDI_registered" class="sref">BDI_registered /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>);> 514 /a>> 515 /a>         a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 516 /a>         a href="+code=list_add_tail_rcu" class="sref">list_add_tail_rcu /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_list" class="sref">bdi_list /a>, & a href="+code=bdi_list" class="sref">bdi_list /a>);> 517 /a>         a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi_lock" class="sref">bdi_lock /a>);> 518 /a>> 519 /a>         a href="+code=trace_writeback_bdi_register" class="sref">trace_writeback_bdi_register /a>( a href="+code=bdi" class="sref">bdi /a>);> 520 /a>        return 0;> 521 /a>}> 522 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_register" class="sref">bdi_register /a>);> 523 /a>> 524 /a>int  a href="+code=bdi_register_dev" class="sref">bdi_register_dev /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>,  a href="+code=dev_t" class="sref">dev_t /a>  a href="+code=dev" class="sref">dev /a>)> 525 /a>{> 526 /a>        return  a href="+code=bdi_register" class="sref">bdi_register /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=NULL" class="sref">NULL /a>,  spao class="string">"%u:%u" /spao-,  a href="+code=MAJOR" class="sref">MAJOR /a>( a href="+code=dev" class="sref">dev /a>),  a href="+code=MINOR" class="sref">MINOR /a>( a href="+code=dev" class="sref">dev /a>));> 527 /a>}> 528 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_register_dev" class="sref">bdi_register_dev /a>);> 529 /a>> 530 /a> spao class="comment">/* /spao-> 531 /a> spao class="comment"> * Remove bdi from the global list and shutdown any threads we have running /spao-> 532 /a> spao class="comment"> */ /spao-> 533 /a>static void  a href="+code=bdi_wb_shutdown" class="sref">bdi_wb_shutdown /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 534 /a>{> 535 /a>        struct  a href="+code=task_struct" class="sref">task_struct /a> * a href="+code=task" class="sref">task /a>;> 536 /a>> 537 /a>        if (! a href="+code=bdi_cap_writeback_dirty" class="sref">bdi_cap_writeback_dirty /a>( a href="+code=bdi" class="sref">bdi /a>))> 538 /a>            
   return;> 539 /a>> 540 /a>         spao class="comment">/* /spao-> 541 /a> spao class="comment">         * Make sure nobody finds us on the bdi_list anymore /spao-> 542 /a> spao class="comment">         */ /spao-> 543 /a>         a href="+code=bdi_remove_from_list" class="sref">bdi_remove_from_list /a>( a href="+code=bdi" class="sref">bdi /a>);> 544 /a>> 545 /a>         spao class="comment">/* /spao-> 546 /a> spao class="comment">         * If setup is pending, wait for that to complete first /spao-> 547 /a> spao class="comment">         */ /spao-> 548 /a>         a href="+code=wait_on_bit" class="sref">wait_on_bit /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>,  a href="+code=BDI_pending" class="sref">BDI_pending /a>,  a href="+code=bdi_sched_wait" class="sref">bdi_sched_wait /a>,> 549 /a>            
            a href="+code=TASK_UNINTERRUPTIBLE" class="sref">TASK_UNINTERRUPTIBLE /a>);> 550 /a>> 551 /a>         spao class="comment">/* /spao-> 552 /a> spao class="comment">         * Finally, kill the kernel thread. We don't need to be RCU /spao-> 553 /a> spao class="comment">         * safe anymore, since the bdi is gone from visibility. /spao-> 554 /a> spao class="comment">         */ /spao-> 555 /a>         a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 556 /a>         a href="+code=task" class="sref">task /a> =  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a>;> 557 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=task" class="sref">task /a> =  a href="+code=NULL" class="sref">NULL /a>;> 558 /a>         a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 559 /a>> 560 /a>        if ( a href="+code=task" class="sref">task /a>)> 561 /a>            
    a href="+code=kthread_stop" class="sref">kthread_stop /a>( a href="+code=task" class="sref">task /a>);> 562 /a>}> 563 /a>> 564 /a> spao class="comment">/* /spao-> 565 /a> spao class="comment"> * This bdi is going away now, make sure that no super_blocks point to it /spao-> 566 /a> spao class="comment"> */ /spao-> 567 /a>static void  a href="+code=bdi_prune_sb" class="sref">bdi_prune_sb /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 568 /a>{> 569 /a>        struct  a href="+code=super_block" class="sref">super_block /a> * a href="+code=sb" class="sref">sb /a>;> 570 /a>> 571 /a>         a href="+code=spin_lock" class="sref">spin_lock /a>(& a href="+code=sb_lock" class="sref">sb_lock /a>);> 572 /a>         a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=sb" class="sref">sb /a>, & a href="+code=super_blocks" class="sref">super_blocks /a>,  a href="+code=s_list" class="sref">s_list /a>) {> 573 /a>            
   if ( a href="+code=sb" class="sref">sb /a>-> a href="+code=s_bdi" class="sref">s_bdi /a> ==  a href="+code=bdi" class="sref">bdi /a>)> 574 /a>            
            a href="+code=sb" class="sref">sb /a>-> a href="+code=s_bdi" class="sref">s_bdi /a> = & a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>;> 575 /a>        }> 576 /a>         a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=sb_lock" class="sref">sb_lock /a>);> 577 /a>}> 578 /a>> 579 /a>void  a href="+code=bdi_unregister" class="sref">bdi_unregister /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 580 /a>{> 581 /a>        struct  a href="+code=device" class="sref">device /a> * a href="+code=dev" class="sref">dev /a> =  a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a>;> 582 /a>> 583 /a>        if ( a href="+code=dev" class="sref">dev /a>) {> 584 /a>            
    a href="+code=bdi_set_min_ratti" class="sref">bdi_set_min_ratti /a>( a href="+code=bdi" class="sref">bdi /a>, 0);> 585 /a>            
    a href="+code=trace_writeback_bdi_unregister" class="sref">trace_writeback_bdi_unregister /a>( a href="+code=bdi" class="sref">bdi /a>);> 586 /a>            
    a href="+code=bdi_prune_sb" class="sref">bdi_prune_sb /a>( a href="+code=bdi" class="sref">bdi /a>);> 587 /a>                 a href="+code=del_timer_sync" class="sref">del_timer_sync /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=wakeup_timer" class="sref">wakeup_timer /a>);> 588 /a>> 589 /a>            
   if (! a href="+code=bdi_cap_flush_forker" class="sref">bdi_cap_flush_forker /a>( a href="+code=bdi" class="sref">bdi /a>))> 590 /a>            
            a href="+code=bdi_wb_shutdown" class="sref">bdi_wb_shutdown /a>( a href="+code=bdi" class="sref">bdi /a>);> 591 /a>            
    a href="+code=bdi_debug_unregister" class="sref">bdi_debug_unregister /a>( a href="+code=bdi" class="sref">bdi /a>);> 592 /a>> 593 /a>            
    a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 594 /a>            
    a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a> =  a href="+code=NULL" class="sref">NULL /a>;> 595 /a>            
    a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 596 /a>> 597 /a>                 a href="+code=device_unregister" class="sref">device_unregister /a>( a href="+code=dev" class="sref">dev /a>);> 598 /a>        }> 599 /a>}> 600 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_unregister" class="sref">bdi_unregister /a>);> 601 /a>> 602 /a>static void  a href="+code=bdi_wb_init" class="sref">bdi_wb_init /a>(struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=wb" class="sref">wb /a>, struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 603 /a>{> 604 /a>         a href="+code=memset" class="sref">memset /a>( a href="+code=wb" class="sref">wb /a>, 0, sizeof(* a href="+code=wb" class="sref">wb /a>));> 605 /a>> 606 /a>         a href="+code=wb" class="sref">wb /a>-> a href="+code=bdi" class="sref">bdi /a> =  a href="+code=bdi" class="sref">bdi /a>;> 607 /a>         a href="+code=wb" class="sref">wb /a>-> a href="+code=last_old_flush" class="sref">last_old_flush /a> =  a href="+code=jiffies" class="sref">jiffies /a>;> 608 /a>         a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=b_dirty" class="sref">b_dirty /a>);> 609 /a>         a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=b_ti" class="sref">b_ti /a>);> 610 /a>         a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=b_more_ti" class="sref">b_more_ti /a>);> 611 /a>         a href="+code=spin_lock_init" class="sref">spin_lock_init /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=list_lock" class="sref">list_lock /a>);> 612 /a>         a href="+code=setup_timer" class="sref">setup_timer /a>(& a href="+code=wb" class="sref">wb /a>-> a href="+code=wakeup_timer" class="sref">wakeup_timer /a>,  a href="+code=wakeup_timer_fn" class="sref">wakeup_timer_fn /a>, (unsigned long) a href="+code=bdi" class="sref">bdi /a>);> 613 /a>}> 614 /a>> 615 /a> spao class="comment">/* /spao-> 616 /a> spao class="comment"> * Initial write bandwidth: 100 MB/s /spao-> 617 /a> spao class="comment"> */ /spao-> 618 /a>#define  a href="+code=INIT_BW" class="sref">INIT_BW /a>         (100 << (20 -  a href="+code=PAGE_SHIFT" class="sref">PAGE_SHIFT /a>))> 619 /a>> 620 /a>int  a href="+code=bdi_init" class="sref">bdi_init /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 621 /a>{> 622 /a>        int  a href="+code=i" class="sref">i /a>,  a href="+code=err" class="sref">err /a>;> 623 /a>> 624 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dev" class="sref">dev /a> =  a href="+code=NULL" class="sref">NULL /a>;> 625 /a>> 626 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=min_ratti" class="sref">min_ratti /a> = 0;> 627 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=max_ratti" class="sref">max_ratti /a> = 100;> 628 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=max_prop_frac" class="sref">max_prop_frac /a> =  a href="+code=FPROP_FRAC_BASE" class="sref">FPROP_FRAC_BASE /a>;> 629 /a>         a href="+code=spin_lock_init" class="sref">spin_lock_init /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb_lock" class="sref">wb_lock /a>);> 630 /a>         a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_list" class="sref">bdi_list /a>);> 631 /a>         a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=work_list" class="sref">work_list /a>);> 632 /a>> 633 /a>         a href="+code=bdi_wb_init" class="sref">bdi_wb_init /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>,  a href="+code=bdi" class="sref">bdi /a>);> 634 /a>> 635 /a>        for ( a href="+code=i" class="sref">i /a> = 0;  a href="+code=i" class="sref">i /a> <  a href="+code=NR_BDI_STAT_ITEMS" class="sref">NR_BDI_STAT_ITEMS /a>;  a href="+code=i" class="sref">i /a>++) {> 636 /a>            
    a href="+code=err" class="sref">err /a> =  a href="+code=percpu_counter_init" class="sref">percpu_counter_init /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_stat" class="sref">bdi_stat /a>[ a href="+code=i" class="sref">i /a>], 0);> 637 /a>                if ( a href="+code=err" class="sref">err /a>)> 638 /a>            
           goto  a href="+code=err" class="sref">err /a>;> 639 /a>        }> 640 /a>> 641 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dirty_exceeded" class="sref">dirty_exceeded /a> = 0;> 642 /a>> 643 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bw_time_stamp" class="sref">bw_time_stamp /a> =  a href="+code=jiffies" class="sref">jiffies /a>;> 644 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=written_stamp" class="sref">written_stamp /a> = 0;> 645 /a>> 646 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=balanced_dirty_ratelimit" class="sref">balanced_dirty_ratelimit /a> =  a href="+code=INIT_BW" class="sref">INIT_BW /a>;> 647 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=dirty_ratelimit" class="sref">dirty_ratelimit /a> =  a href="+code=INIT_BW" class="sref">INIT_BW /a>;> 648 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=write_bandwidth" class="sref">write_bandwidth /a> =  a href="+code=INIT_BW" class="sref">INIT_BW /a>;> 649 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=avg_write_bandwidth" class="sref">avg_write_bandwidth /a> =  a href="+code=INIT_BW" class="sref">INIT_BW /a>;> 650 /a>> 651 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=fprop_local_init_percpu" class="sref">fprop_local_init_percpu /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=completions" class="sref">completions /a>);> 652 /a>> 653 /a>        if ( a href="+code=err" class="sref">err /a>) {> 654 /a> a href="+code=err" class="sref">err /a>:> 655 /a>            
   while ( a href="+code=i" class="sref">i /a>--)> 656 /a>            
            a href="+code=percpu_counter_destroy" class="sref">percpu_counter_destroy /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_stat" class="sref">bdi_stat /a>[ a href="+code=i" class="sref">i /a>]);> 657 /a>        }> 658 /a>> 659 /a>        return  a href="+code=err" class="sref">err /a>;> 660 /a>}> 661 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_init" class="sref">bdi_init /a>);> 662 /a>> 663 /a>void  a href="+code=bdi_destroy" class="sref">bdi_destroy /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>)> 664 /a>{> 665 /a>        int  a href="+code=i" class="sref">i /a>;> 666 /a>> 667 /a>         spao class="comment">/* /spao-> 668 /a> spao class="comment">         * Splice our entries to the default_backing_dev_info, if this /spao-> 669 /a> spao class="comment">         * bdi disappears /spao-> 670 /a> spao class="comment">         */ /spao-> 671 /a>        if ( a href="+code=bdi_has_dirty_ti" class="sref">bdi_has_dirty_ti /a>( a href="+code=bdi" class="sref">bdi /a>)) {> 672 /a>                struct  a href="+code=bdi_writeback" class="sref">bdi_writeback /a> * a href="+code=dst" class="sref">dst /a> = & a href="+code=default_backing_dev_info" class="sref">default_backing_dev_info /a>. a href="+code=wb" class="sref">wb /a>;> 673 /a>> 674 /a>            
    a href="+code=bdi_lock_twi" class="sref">bdi_lock_twi /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>,  a href="+code=dst" class="sref">dst /a>);> 675 /a>            
    a href="+code=list_splice" class="sref">list_splice /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=b_dirty" class="sref">b_dirty /a>, & a href="+code=dst" class="sref">dst /a>-> a href="+code=b_dirty" class="sref">b_dirty /a>);> 676 /a>            
    a href="+code=list_splice" class="sref">list_splice /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=b_ti" class="sref">b_ti /a>, & a href="+code=dst" class="sref">dst /a>-> a href="+code=b_ti" class="sref">b_ti /a>);> 677 /a>                 a href="+code=list_splice" class="sref">list_splice /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=b_more_ti" class="sref">b_more_ti /a>, & a href="+code=dst" class="sref">dst /a>-> a href="+code=b_more_ti" class="sref">b_more_ti /a>);> 678 /a>            
    a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=list_lock" class="sref">list_lock /a>);> 679 /a>            
    a href="+code=spin_unlock" class="sref">spin_unlock /a>(& a href="+code=dst" class="sref">dst /a>-> a href="+code=list_lock" class="sref">list_lock /a>);> 680 /a>        }> 681 /a>> 682 /a>         a href="+code=bdi_unregister" class="sref">bdi_unregister /a>( a href="+code=bdi" class="sref">bdi /a>);> 683 /a>> 684 /a>         spao class="comment">/* /spao-> 685 /a> spao class="comment">         * If bdi_unregister() had already beeo called earlier, the /spao-> 686 /a> spao class="comment">         * wakeup_timer could still be armed because bdi_prune_sb() /spao-> 687 /a> spao class="comment">         * can race with the bdi_wakeup_thread_delayed() calls from /spao-> 688 /a> spao class="comment">         * __mark_inode_dirty(). /spao-> 689 /a> spao class="comment">         */ /spao-> 690 /a>         a href="+code=del_timer_sync" class="sref">del_timer_sync /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=wb" class="sref">wb /a>. a href="+code=wakeup_timer" class="sref">wakeup_timer /a>);> 691 /a>> 692 /a>        for ( a href="+code=i" class="sref">i /a> = 0;  a href="+code=i" class="sref">i /a> <  a href="+code=NR_BDI_STAT_ITEMS" class="sref">NR_BDI_STAT_ITEMS /a>;  a href="+code=i" class="sref">i /a>++)> 693 /a>            
    a href="+code=percpu_counter_destroy" class="sref">percpu_counter_destroy /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=bdi_stat" class="sref">bdi_stat /a>[ a href="+code=i" class="sref">i /a>]);> 694 /a>> 695 /a>         a href="+code=fprop_local_destroy_percpu" class="sref">fprop_local_destroy_percpu /a>(& a href="+code=bdi" class="sref">bdi /a>-> a href="+code=completions" class="sref">completions /a>);> 696 /a>}> 697 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_destroy" class="sref">bdi_destroy /a>);> 698 /a>> 699 /a> spao class="comment">/* /spao-> 700 /a> spao class="comment"> * For use from filesystems to quickly init and register a bdi associated /spao-> 701 /a> spao class="comment"> * with dirty writeback /spao-> 702 /a> spao class="comment"> */ /spao-> 703 /a>int  a href="+code=bdi_setup_and_register" class="sref">bdi_setup_and_register /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>, char * a href="+code=namu" class="sref">namu /a>,> 704 /a>            
              unsigned int  a href="+code=cap" class="sref">cap /a>)> 705 /a>{> 706 /a>        char  a href="+code=tmp" class="sref">tmp /a>[32];> 707 /a>        int  a href="+code=err" class="sref">err /a>;> 708 /a>> 709 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=namu" class="sref">namu /a> =  a href="+code=namu" class="sref">namu /a>;> 710 /a>         a href="+code=bdi" class="sref">bdi /a>-> a href="+code=capabilities" class="sref">capabilities /a> =  a href="+code=cap" class="sref">cap /a>;> 711 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=bdi_init" class="sref">bdi_init /a>( a href="+code=bdi" class="sref">bdi /a>);> 712 /a>        if ( a href="+code=err" class="sref">err /a>)> 713 /a>            
   return  a href="+code=err" class="sref">err /a>;> 714 /a>> 715 /a>         a href="+code=sprintf" class="sref">sprintf /a>( a href="+code=tmp" class="sref">tmp /a>,  spao class="string">"%.28s%s" /spao-,  a href="+code=namu" class="sref">namu /a>,  spao class="string">"-%d" /spao-);> 716 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=bdi_register" class="sref">bdi_register /a>( a href="+code=bdi" class="sref">bdi /a>,  a href="+code=NULL" class="sref">NULL /a>,  a href="+code=tmp" class="sref">tmp /a>,  a href="+code=atomic_long_inc_return" class="sref">atomic_long_inc_return /a>(& a href="+code=bdi_seq" class="sref">bdi_seq /a>));> 717 /a>        if ( a href="+code=err" class="sref">err /a>) {> 718 /a>            
    a href="+code=bdi_destroy" class="sref">bdi_destroy /a>( a href="+code=bdi" class="sref">bdi /a>);> 719 /a>            
   return  a href="+code=err" class="sref">err /a>;> 720 /a>        }> 721 /a>> 722 /a>        return 0;> 723 /a>}> 724 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=bdi_setup_and_register" class="sref">bdi_setup_and_register /a>);> 725 /a>> 726 /a>static  a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t /a>  a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[2] = {> 727 /a>                 a href="+code=__WAIT_QUEUE_HEAD_INITIALIZER" class="sref">__WAIT_QUEUE_HEAD_INITIALIZER /a>( a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[0]),> 728 /a>            
    a href="+code=__WAIT_QUEUE_HEAD_INITIALIZER" class="sref">__WAIT_QUEUE_HEAD_INITIALIZER /a>( a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[1])> 729 /a>        };> 730 /a>static  a href="+code=atomic_t" class="sref">atomic_t /a>  a href="+code=nr_bdi_congested" class="sref">nr_bdi_congested /a>[2];> 731 /a>> 732 /a>void  a href="+code=clear_bdi_congested" class="sref">clear_bdi_congested /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>, int  a href="+code=sync" class="sref">sync /a>)> 733 /a>{> 734 /a>        enum  a href="+code=bdi_state" class="sref">bdi_state /a>  a href="+code=bit" class="sref">bit /a>;> 735 /a>         a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t /a> * a href="+code=wqh" class="sref">wqh /a> = & a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[ a href="+code=sync" class="sref">sync /a>];> 736 /a>> 737 /a>         a href="+code=bit" class="sref">bit /a> =  a href="+code=sync" class="sref">sync /a> ?  a href="+code=BDI_sync_congested" class="sref">BDI_sync_congested /a> :  a href="+code=BDI_async_congested" class="sref">BDI_async_congested /a>;> 738 /a>        if ( a href="+code=test_and_clear_bit" class="sref">test_and_clear_bit /a>( a href="+code=bit" class="sref">bit /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>))> 739 /a>            
    a href="+code=atomic_dec" class="sref">atomic_dec /a>(& a href="+code=nr_bdi_congested" class="sref">nr_bdi_congested /a>[ a href="+code=sync" class="sref">sync /a>]);> 740 /a>         a href="+code=smp_mb__after_clear_bit" class="sref">smp_mb__after_clear_bit /a>();> 741 /a>        if ( a href="+code=waitqueue_active" class="sref">waitqueue_active /a>( a href="+code=wqh" class="sref">wqh /a>))> 742 /a>                 a href="+code=wake_up" class="sref">wake_up /a>( a href="+code=wqh" class="sref">wqh /a>);> 743 /a>}> 744 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=clear_bdi_congested" class="sref">clear_bdi_congested /a>);> 745 /a>> 746 /a>void  a href="+code=set_bdi_congested" class="sref">set_bdi_congested /a>(struct  a href="+code=backing_dev_info" class="sref">backing_dev_info /a> * a href="+code=bdi" class="sref">bdi /a>, int  a href="+code=sync" class="sref">sync /a>)> 747 /a>{> 748 /a>        enum  a href="+code=bdi_state" class="sref">bdi_state /a>  a href="+code=bit" class="sref">bit /a>;> 749 /a>> 750 /a>         a href="+code=bit" class="sref">bit /a> =  a href="+code=sync" class="sref">sync /a> ?  a href="+code=BDI_sync_congested" class="sref">BDI_sync_congested /a> :  a href="+code=BDI_async_congested" class="sref">BDI_async_congested /a>;> 751 /a>        if (! a href="+code=test_and_set_bit" class="sref">test_and_set_bit /a>( a href="+code=bit" class="sref">bit /a>, & a href="+code=bdi" class="sref">bdi /a>-> a href="+code=state" class="sref">state /a>))> 752 /a>                 a href="+code=atomic_inc" class="sref">atomic_inc /a>(& a href="+code=nr_bdi_congested" class="sref">nr_bdi_congested /a>[ a href="+code=sync" class="sref">sync /a>]);> 753 /a>}> 754 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=set_bdi_congested" class="sref">set_bdi_congested /a>);> 755 /a>> 756 /a> spao class="comment">/** /spao-> 757 /a> spao class="comment"> * congestion_wait - wait for a backing_dev to become uncongested /spao-> 758 /a> spao class="comment"> * @sync: SYNC or ASYNC IO /spao-> 759 /a> spao class="comment"> * @timeout: timeout in jiffies /spao-> 760 /a> spao class="comment"> * /spao-> 761 /a> spao class="comment"> * Waits for up to @timeout jiffies for a backing_dev (any backing_dev) to exit /spao-> 762 /a> spao class="comment"> * write congestion.  If no backing_devs are congested then just wait for the /spao-> 763 /a> spao class="comment"> * next write to be completed. /spao-> 764 /a> spao class="comment"> */ /spao-> 765 /a>long  a href="+code=congestion_wait" class="sref">congestion_wait /a>(int  a href="+code=sync" class="sref">sync /a>, long  a href="+code=timeout" class="sref">timeout /a>)> 766 /a>{> 767 /a>        long  a href="+code=ret" class="sref">ret /a>;> 768 /a>        unsigned long  a href="+code=start" class="sref">start /a> =  a href="+code=jiffies" class="sref">jiffies /a>;> 769 /a>         a href="+code=DEFINE_WAIT" class="sref">DEFINE_WAIT /a>( a href="+code=wait" class="sref">wait /a>);> 770 /a>         a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t /a> * a href="+code=wqh" class="sref">wqh /a> = & a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[ a href="+code=sync" class="sref">sync /a>];> 771 /a>> 772 /a>         a href="+code=prepare_to_wait" class="sref">prepare_to_wait /a>( a href="+code=wqh" class="sref">wqh /a>, & a href="+code=wait" class="sref">wait /a>,  a href="+code=TASK_UNINTERRUPTIBLE" class="sref">TASK_UNINTERRUPTIBLE /a>);> 773 /a>         a href="+code=ret" class="sref">ret /a> =  a href="+code=io_schedule_timeout" class="sref">io_schedule_timeout /a>( a href="+code=timeout" class="sref">timeout /a>);> 774 /a>         a href="+code=finish_wait" class="sref">finish_wait /a>( a href="+code=wqh" class="sref">wqh /a>, & a href="+code=wait" class="sref">wait /a>);> 775 /a>> 776 /a>         a href="+code=trace_writeback_congestion_wait" class="sref">trace_writeback_congestion_wait /a>( a href="+code=jiffies_to_usecs" class="sref">jiffies_to_usecs /a>( a href="+code=timeout" class="sref">timeout /a>),> 777 /a>                                         a href="+code=jiffies_to_usecs" class="sref">jiffies_to_usecs /a>( a href="+code=jiffies" class="sref">jiffies /a> -  a href="+code=start" class="sref">start /a>));> 778 /a>> 779 /a>        return  a href="+code=ret" class="sref">ret /a>;> 780 /a>}> 781 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=congestion_wait" class="sref">congestion_wait /a>);> 782 /a>> 783 /a> spao class="comment">/** /spao-> 784 /a> spao class="comment"> * wait_iff_congested - Conditionally wait for a backing_dev to become uncongested or a zone to complete writes /spao-> 785 /a> spao class="comment"> * @zone: A zone to check if it is heavily congested /spao-> 786 /a> spao class="comment"> * @sync: SYNC or ASYNC IO /spao-> 787 /a> spao class="comment"> * @timeout: timeout in jiffies /spao-> 788 /a> spao class="comment"> * /spao-> 789 /a> spao class="comment"> * In the event of a congested backing_dev (any backing_dev) and the given /spao-> 790 /a> spao class="comment"> * @zone has experienced recent congestion, this waits for up to @timeout /spao-> 791 /a> spao class="comment"> * jiffies for either a BDI to exit congestion of the given @sync queue /spao-> 792 /a> spao class="comment"> * or a write to complete. /spao-> 793 /a> spao class="comment"> * /spao-> 794 /a> spao class="comment"> * In the absence of zone congestion, cond_resched() is called to yield /spao-> 795 /a> spao class="comment"> * the processor if necessary but otherwise does not sleep. /spao-> 796 /a> spao class="comment"> * /spao-> 797 /a> spao class="comment"> * The return value is 0 if the sleep is for the full timeout. Otherwise, /spao-> 798 /a> spao class="comment"> * it is the number of jiffies that were still remaining when the function /spao-> 799 /a> spao class="comment"> * returned. return_value == timeout implies the function did not sleep. /spao-> 800 /a> spao class="comment"> */ /spao-> 801 /a>long  a href="+code=wait_iff_congested" class="sref">wait_iff_congested /a>(struct  a href="+code=zone" class="sref">zone /a> * a href="+code=zone" class="sref">zone /a>, int  a href="+code=sync" class="sref">sync /a>, long  a href="+code=timeout" class="sref">timeout /a>)> 802 /a>{> 803 /a>        long  a href="+code=ret" class="sref">ret /a>;> 804 /a>        unsigned long  a href="+code=start" class="sref">start /a> =  a href="+code=jiffies" class="sref">jiffies /a>;> 805 /a>         a href="+code=DEFINE_WAIT" class="sref">DEFINE_WAIT /a>( a href="+code=wait" class="sref">wait /a>);> 806 /a>         a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t /a> * a href="+code=wqh" class="sref">wqh /a> = & a href="+code=congestion_wqh" class="sref">congestion_wqh /a>[ a href="+code=sync" class="sref">sync /a>];> 807 /a>> 808 /a>         spao class="comment">/* /spao-> 809 /a> spao class="comment">         * If there is no congestion, or heavy congestion is not being /spao-> 810 /a> spao class="comment">         * encountered in the current zone, yield if necessary instead /spao-> 811 /a> spao class="comment">         * of sleeping on the congestion queue /spao-> 812 /a> spao class="comment">         */ /spao-> 813 /a>        if ( a href="+code=atomic_read" class="sref">atomic_read /a>(& a href="+code=nr_bdi_congested" class="sref">nr_bdi_congested /a>[ a href="+code=sync" class="sref">sync /a>]) == 0 ||> 814 /a>            
           ! a href="+code=zone_is_reclaim_congested" class="sref">zone_is_reclaim_congested /a>( a href="+code=zone" class="sref">zone /a>)) {> 815 /a>                 a href="+code=cond_resched" class="sref">cond_resched /a>();> 816 /a>> 817 /a>                 spao class="comment">/* In case we scheduled, work out time remaining */ /spao-> 818 /a>            
    a href="+code=ret" class="sref">ret /a> =  a href="+code=timeout" class="sref">timeout /a> - ( a href="+code=jiffies" class="sref">jiffies /a> -  a href="+code=start" class="sref">start /a>);> 819 /a>            
   if ( a href="+code=ret" class="sref">ret /a> < 0)> 820 /a>                    
    a href="+code=ret" class="sref">ret /a> = 0;> 821 /a>> 822 /a>                goto  a href="+code=out" class="sref">out /a>;> 823 /a>        }> 824 /a>> 825 /a>         spao class="comment">/* Sleep until uncongested or a write happens */ /spao-> 826 /a>         a href="+code=prepare_to_wait" class="sref">prepare_to_wait /a>( a href="+code=wqh" class="sref">wqh /a>, & a href="+code=wait" class="sref">wait /a>,  a href="+code=TASK_UNINTERRUPTIBLE" class="sref">TASK_UNINTERRUPTIBLE /a>);> 827 /a>         a href="+code=ret" class="sref">ret /a> =  a href="+code=io_schedule_timeout" class="sref">io_schedule_timeout /a>( a href="+code=timeout" class="sref">timeout /a>);> 828 /a>         a href="+code=finish_wait" class="sref">finish_wait /a>( a href="+code=wqh" class="sref">wqh /a>, & a href="+code=wait" class="sref">wait /a>);> 829 /a>> 830 /a> a href="+code=out" class="sref">out /a>:> 831 /a>         a href="+code=trace_writeback_wait_iff_congested" class="sref">trace_writeback_wait_iff_congested /a>( a href="+code=jiffies_to_usecs" class="sref">jiffies_to_usecs /a>( a href="+code=timeout" class="sref">timeout /a>),> 832 /a>                                    
    a href="+code=jiffies_to_usecs" class="sref">jiffies_to_usecs /a>( a href="+code=jiffies" class="sref">jiffies /a> -  a href="+code=start" class="sref">start /a>));> 833 /a>> 834 /a>        return  a href="+code=ret" class="sref">ret /a>;> 835 /a>}> 836 /a> a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL /a>( a href="+code=wait_iff_congested" class="sref">wait_iff_congested /a>);> 837 /a>> 838 /a>int  a href="+code=pdflush_proc_obsolete" class="sref">pdflush_proc_obsolete /a>(struct  a href="+code=ctl_table" class="sref">ctl_table /a> * a href="+code=table" class="sref">table /a>, int  a href="+code=write" class="sref">write /a>,> 839 /a>            
           void  a href="+code=__user" class="sref">__user /a> * a href="+code=buffer" class="sref">buffer /a>,  a href="+code=size_t" class="sref">size_t /a> * a href="+code=lenp" class="sref">lenp /a>,  a href="+code=loff_t" class="sref">loff_t /a> * a href="+code=ppos" class="sref">ppos /a>)> 840 /a>{> 841 /a>        char  a href="+code=kbuf" class="sref">kbuf /a>[] =  spao class="string">"0\n" /spao-;> 842 /a>> 843 /a>        if (* a href="+code=ppos" class="sref">ppos /a>) {> 844 /a>            
   * a href="+code=lenp" class="sref">lenp /a> = 0;> 845 /a>                return 0;> 846 /a>        }> 847 /a>> 848 /a>        if ( a href="+code=copy_to_user" class="sref">copy_to_user /a>( a href="+code=buffer" class="sref">buffer /a>,  a href="+code=kbuf" class="sref">kbuf /a>, sizeof( a href="+code=kbuf" class="sref">kbuf /a>)))> 849 /a>            
   return - a href="+code=EFAULT" class="sref">EFAULT /a>;> 850 /a>         a href="+code=printk_once" class="sref">printk_once /a>( a href="+code=KERN_WARNING" class="sref">KERN_WARNING /a>  spao class="string">"%s exported in /proc is scheduled for removal\n" /spao-,> 851 /a>                    
    a href="+code=table" class="sref">table /a>-> a href="+code=procnamu" class="sref">procnamu /a>);> 852 /a>> 853 /a>        * a href="+code=lenp" class="sref">lenp /a> = 2;> 854 /a>        * a href="+code=ppos" class="sref">ppos /a> += * a href="+code=lenp" class="sref">lenp /a>;> 855 /a>        return 2;> 856 /a>}> 857 /a> /pre> /div>


 /div>