[PATCH 01/11] pstore/blk: new support logger for block devices

kbuild test robot lkp at intel.com
Sat Jan 18 04:42:33 PST 2020


Hi WeiXiong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on kees/for-next/pstore]
[also build test WARNING on ia64/next linus/master v5.5-rc6 next-20200117]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/WeiXiong-Liao/pstore-support-crash-log-to-block-and-mtd-device/20200117-152012
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   fs//pstore/blkzone.c: In function 'blkz_zone_write':
>> fs//pstore/blkzone.c:190:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (wcnt != wlen)
         ^
   fs//pstore/blkzone.c:192:2: note: here
     case FLUSH_META:
     ^~~~

vim +190 fs//pstore/blkzone.c

   156	
   157	static int blkz_zone_write(struct blkz_zone *zone,
   158			enum blkz_flush_mode flush_mode, const char *buf,
   159			size_t len, unsigned long off)
   160	{
   161		struct blkz_info *info = blkz_cxt.bzinfo;
   162		ssize_t wcnt = 0;
   163		ssize_t (*writeop)(const char *buf, size_t bytes, loff_t pos);
   164		size_t wlen;
   165	
   166		if (off > zone->buffer_size)
   167			return -EINVAL;
   168		wlen = min_t(size_t, len, zone->buffer_size - off);
   169		if (buf && wlen) {
   170			memcpy(zone->buffer->data + off, buf, wlen);
   171			atomic_set(&zone->buffer->datalen, wlen + off);
   172		}
   173	
   174		/* avoid to damage old records */
   175		if (!is_on_panic() && !atomic_read(&blkz_cxt.recovered))
   176			goto set_dirty;
   177	
   178		writeop = is_on_panic() ? info->panic_write : info->write;
   179		if (!writeop)
   180			goto set_dirty;
   181	
   182		switch (flush_mode) {
   183		case FLUSH_NONE:
   184			if (unlikely(buf && wlen))
   185				goto set_dirty;
   186			return 0;
   187		case FLUSH_PART:
   188			wcnt = writeop((const char *)zone->buffer->data + off, wlen,
   189					zone->off + sizeof(*zone->buffer) + off);
 > 190			if (wcnt != wlen)
   191				goto set_dirty;
   192		case FLUSH_META:
   193			wlen = sizeof(struct blkz_buffer);
   194			wcnt = writeop((const char *)zone->buffer, wlen, zone->off);
   195			if (wcnt != wlen)
   196				goto set_dirty;
   197			break;
   198		case FLUSH_ALL:
   199			wlen = zone->buffer_size + sizeof(*zone->buffer);
   200			wcnt = writeop((const char *)zone->buffer, wlen, zone->off);
   201			if (wcnt != wlen)
   202				goto set_dirty;
   203			break;
   204		}
   205	
   206		return 0;
   207	set_dirty:
   208		atomic_set(&zone->dirty, true);
   209		return -EBUSY;
   210	}
   211	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 52800 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20200118/11041751/attachment-0001.gz>


More information about the linux-mtd mailing list