lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun, 10 Dec 2023 09:30:04 +0800
From:   kernel test robot <lkp@...el.com>
To:     Ilya Dryomov <idryomov@...il.com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: net/ceph/crush/mapper.c:440: warning: No description found for
 parameter 'work'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   21b73ffcc62ab772bc06e3e90bd87eff5e9e8ed4
commit: 66a0e2d579dbec5c676cfe446234ffebb267c564 crush: remove mutable part of CRUSH map
date:   7 years ago
config: i386-buildonly-randconfig-004-20231120 (https://download.01.org/0day-ci/archive/20231210/202312100923.SaslEo9a-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231210/202312100923.SaslEo9a-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312100923.SaslEo9a-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> net/ceph/crush/mapper.c:440: warning: No description found for parameter 'work'
   net/ceph/crush/mapper.c:440: warning: No description found for parameter 'weight'
   net/ceph/crush/mapper.c:440: warning: No description found for parameter 'weight_max'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'map'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'work'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'bucket'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'weight'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'weight_max'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'x'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'left'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'numrep'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'type'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'out'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'outpos'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'tries'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'recurse_tries'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'recurse_to_leaf'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'out2'
   net/ceph/crush/mapper.c:626: warning: No description found for parameter 'parent_r'


vim +/work +440 net/ceph/crush/mapper.c

5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  403  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  404  /**
9fe07182827d99 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  405   * crush_choose_firstn - choose numrep distinct items of given type
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  406   * @map: the crush_map
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  407   * @bucket: the bucket we are choose an item from
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  408   * @x: crush input value
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  409   * @numrep: the number of items to choose
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  410   * @type: the type of item to choose
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  411   * @out: pointer to output vector
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  412   * @outpos: our position in that vector
45002267e8d269 net/ceph/crush/mapper.c Ilya Dryomov 2015-04-14  413   * @out_size: size of the out vector
0e32d7126cdf30 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  414   * @tries: number of attempts to make
0e32d7126cdf30 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  415   * @recurse_tries: number of attempts to have recursive chooseleaf make
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  416   * @local_retries: localized retries
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  417   * @local_fallback_retries: localized fallback retries
0e32d7126cdf30 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  418   * @recurse_to_leaf: true if we want one device under each item of given type (chooseleaf instead of choose)
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  419   * @stable: stable mode starts rep=0 in the recursive call for all replicas
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  420   * @vary_r: pass r to recursive calls
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  421   * @out2: second output vector for leaf items (if @recurse_to_leaf)
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  422   * @parent_r: r value passed from the parent
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  423   */
9fe07182827d99 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  424  static int crush_choose_firstn(const struct crush_map *map,
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  425  			       struct crush_work *work,
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  426  			       const struct crush_bucket *bucket,
b3b33b0e43323a net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  427  			       const __u32 *weight, int weight_max,
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  428  			       int x, int numrep, int type,
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  429  			       int *out, int outpos,
45002267e8d269 net/ceph/crush/mapper.c Ilya Dryomov 2015-04-14  430  			       int out_size,
2d8be0bc8bc2dc net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  431  			       unsigned int tries,
2d8be0bc8bc2dc net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  432  			       unsigned int recurse_tries,
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  433  			       unsigned int local_retries,
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  434  			       unsigned int local_fallback_retries,
9fe07182827d99 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  435  			       int recurse_to_leaf,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  436  			       unsigned int vary_r,
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  437  			       unsigned int stable,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  438  			       int *out2,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  439  			       int parent_r)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06 @440  {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  441  	int rep;
8b12d47b80c7a3 net/ceph/crush/mapper.c Sage Weil    2012-05-07  442  	unsigned int ftotal, flocal;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  443  	int retry_descent, retry_bucket, skip_rep;
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  444  	const struct crush_bucket *in = bucket;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  445  	int r;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  446  	int i;
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  447  	int item = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  448  	int itemtype;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  449  	int collide, reject;
45002267e8d269 net/ceph/crush/mapper.c Ilya Dryomov 2015-04-14  450  	int count = out_size;
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  451  
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  452  	dprintk("CHOOSE%s bucket %d x %d outpos %d numrep %d tries %d recurse_tries %d local_retries %d local_fallback_retries %d parent_r %d stable %d\n",
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  453  		recurse_to_leaf ? "_LEAF" : "",
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  454  		bucket->id, x, outpos, numrep,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  455  		tries, recurse_tries, local_retries, local_fallback_retries,
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  456  		parent_r, stable);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  457  
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  458  	for (rep = stable ? 0 : outpos; rep < numrep && count > 0 ; rep++) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  459  		/* keep trying until we get a non-out, non-colliding item */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  460  		ftotal = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  461  		skip_rep = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  462  		do {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  463  			retry_descent = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  464  			in = bucket;               /* initial bucket */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  465  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  466  			/* choose through intervening buckets */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  467  			flocal = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  468  			do {
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  469  				collide = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  470  				retry_bucket = 0;
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  471  				r = rep + parent_r;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  472  				/* r' = r + f_total */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  473  				r += ftotal;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  474  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  475  				/* bucket choose */
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  476  				if (in->size == 0) {
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  477  					reject = 1;
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  478  					goto reject;
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  479  				}
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  480  				if (local_fallback_retries > 0 &&
546f04ef716dd4 net/ceph/crush/mapper.c Sage Weil    2012-07-30  481  				    flocal >= (in->size>>1) &&
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  482  				    flocal > local_fallback_retries)
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  483  					item = bucket_perm_choose(
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  484  						in, work->work[-1-in->id],
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  485  						x, r);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  486  				else
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  487  					item = crush_bucket_choose(
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  488  						in, work->work[-1-in->id],
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  489  						x, r);
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  490  				if (item >= map->max_devices) {
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  491  					dprintk("   bad item %d\n", item);
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  492  					skip_rep = 1;
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  493  					break;
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  494  				}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  495  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  496  				/* desired type? */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  497  				if (item < 0)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  498  					itemtype = map->buckets[-1-item]->type;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  499  				else
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  500  					itemtype = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  501  				dprintk("  item %d type %d\n", item, itemtype);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  502  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  503  				/* keep going? */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  504  				if (itemtype != type) {
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  505  					if (item >= 0 ||
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  506  					    (-1-item) >= map->max_buckets) {
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  507  						dprintk("   bad item type %d\n", type);
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  508  						skip_rep = 1;
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  509  						break;
a1f4895be8bf1b net/ceph/crush/mapper.c Sage Weil    2012-05-07  510  					}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  511  					in = map->buckets[-1-item];
55bda7aacd13f5 fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  512  					retry_bucket = 1;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  513  					continue;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  514  				}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  515  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  516  				/* collision? */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  517  				for (i = 0; i < outpos; i++) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  518  					if (out[i] == item) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  519  						collide = 1;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  520  						break;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  521  					}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  522  				}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  523  
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  524  				reject = 0;
7d7c1f6136bac0 net/ceph/crush/mapper.c Sage Weil    2013-01-15  525  				if (!collide && recurse_to_leaf) {
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  526  					if (item < 0) {
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  527  						int sub_r;
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  528  						if (vary_r)
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  529  							sub_r = r >> (vary_r-1);
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  530  						else
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  531  							sub_r = 0;
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  532  						if (crush_choose_firstn(
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  533  							    map,
66a0e2d579dbec net/ceph/crush/mapper.c Ilya Dryomov 2017-01-31  534  							    work,
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  535  							    map->buckets[-1-item],
b3b33b0e43323a net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  536  							    weight, weight_max,
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  537  							    x, stable ? 1 : outpos+1, 0,
45002267e8d269 net/ceph/crush/mapper.c Ilya Dryomov 2015-04-14  538  							    out2, outpos, count,
2d8be0bc8bc2dc net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  539  							    recurse_tries, 0,
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  540  							    local_retries,
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  541  							    local_fallback_retries,
9fe07182827d99 net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  542  							    0,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  543  							    vary_r,
dc6ae6d8e7726b net/ceph/crush/mapper.c Ilya Dryomov 2016-01-31  544  							    stable,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  545  							    NULL,
e2b149cc4ba007 net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  546  							    sub_r) <= outpos)
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  547  							/* didn't get leaf */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  548  							reject = 1;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  549  					} else {
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  550  						/* we already have a leaf! */
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  551  						out2[outpos] = item;
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  552  					}
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  553  				}
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  554  
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  555  				if (!reject) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  556  					/* out? */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  557  					if (itemtype == 0)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  558  						reject = is_out(map, weight,
b3b33b0e43323a net/ceph/crush/mapper.c Ilya Dryomov 2013-12-24  559  								weight_max,
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  560  								item, x);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  561  					else
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  562  						reject = 0;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  563  				}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  564  
b28813a61d6ffe fs/ceph/crush/mapper.c  Sage Weil    2009-10-07  565  reject:
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  566  				if (reject || collide) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  567  					ftotal++;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  568  					flocal++;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  569  
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  570  					if (collide && flocal <= local_retries)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  571  						/* retry locally a few times */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  572  						retry_bucket = 1;
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  573  					else if (local_fallback_retries > 0 &&
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  574  						 flocal <= in->size + local_fallback_retries)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  575  						/* exhaustive bucket search */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  576  						retry_bucket = 1;
48a163dbb517eb net/ceph/crush/mapper.c Ilya Dryomov 2014-03-19  577  					else if (ftotal < tries)
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  578  						/* then retry descent */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  579  						retry_descent = 1;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  580  					else
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  581  						/* else give up */
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  582  						skip_rep = 1;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  583  					dprintk("  reject %d  collide %d  "
8b12d47b80c7a3 net/ceph/crush/mapper.c Sage Weil    2012-05-07  584  						"ftotal %u  flocal %u\n",
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  585  						reject, collide, ftotal,
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  586  						flocal);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  587  				}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  588  			} while (retry_bucket);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  589  		} while (retry_descent);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  590  
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  591  		if (skip_rep) {
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  592  			dprintk("skip rep\n");
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  593  			continue;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  594  		}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  595  
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  596  		dprintk("CHOOSE got %d\n", item);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  597  		out[outpos] = item;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  598  		outpos++;
45002267e8d269 net/ceph/crush/mapper.c Ilya Dryomov 2015-04-14  599  		count--;
b459be739f97e2 net/ceph/crush/mapper.c Ilya Dryomov 2015-06-12  600  #ifndef __KERNEL__
b459be739f97e2 net/ceph/crush/mapper.c Ilya Dryomov 2015-06-12  601  		if (map->choose_tries && ftotal <= map->choose_total_tries)
b459be739f97e2 net/ceph/crush/mapper.c Ilya Dryomov 2015-06-12  602  			map->choose_tries[ftotal]++;
b459be739f97e2 net/ceph/crush/mapper.c Ilya Dryomov 2015-06-12  603  #endif
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  604  	}
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  605  
a1a31e734241ae fs/ceph/crush/mapper.c  Sage Weil    2010-06-24  606  	dprintk("CHOOSE returns %d\n", outpos);
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  607  	return outpos;
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  608  }
5ecc0a0f8128b1 fs/ceph/crush/mapper.c  Sage Weil    2009-10-06  609  

:::::: The code at line 440 was first introduced by commit
:::::: 5ecc0a0f8128b1876e8614638deaed49cc8b174c ceph: CRUSH mapping algorithm

:::::: TO: Sage Weil <sage@...dream.net>
:::::: CC: Sage Weil <sage@...dream.net>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ