linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity
@ 2021-06-13 11:29 Zhihao Cheng
  2021-06-16 13:22 ` kernel test robot
  2021-06-16 19:39 ` kernel test robot
  0 siblings, 2 replies; 3+ messages in thread
From: Zhihao Cheng @ 2021-06-13 11:29 UTC (permalink / raw)
  To: miquel.raynal, richard, vigneshr, boris.brezillon
  Cc: linux-mtd, linux-kernel, chengzhihao1, yukuai3

Since commit b35fd7422c2f8("block: check queue's limits.discard_granularity
in __blkdev_issue_discard()") checks rq.limits.discard_granularity in
__blkdev_issue_discard(), we may get following warnings while formating ftl:

  WARNING: CPU: 2 PID: 7313 at block/blk-lib.c:51
  __blkdev_issue_discard+0x2a7/0x390

Reproducer:
  1. ftl_format /dev/mtd0
  2. modprobe ftl
  3. mkfs.vfat /dev/ftla
  4. mount -odiscard /dev/ftla temp
  5. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct
  6. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct

Fix it by initializing rq.limits.discard_granularity in ftl_add_mtd().

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
---
 drivers/mtd/ftl.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/ftl.c b/drivers/mtd/ftl.c
index 9b33c082179d..fb31e33b8a77 100644
--- a/drivers/mtd/ftl.c
+++ b/drivers/mtd/ftl.c
@@ -70,6 +70,7 @@
 #include <linux/hdreg.h>
 #include <linux/vmalloc.h>
 #include <linux/blkpg.h>
+#include <linux/blkdev.h>
 #include <linux/uaccess.h>
 
 #include <linux/mtd/ftl.h>
@@ -1029,8 +1030,11 @@ static void ftl_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
 
 		partition->mbd.tr = tr;
 		partition->mbd.devnum = -1;
-		if (!add_mtd_blktrans_dev((void *)partition))
+		if (!add_mtd_blktrans_dev((void *)partition)) {
+			partition->mbd.rq->limits.discard_granularity =
+								tr->blksize;
 			return;
+		}
 	}
 
 	kfree(partition);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity
  2021-06-13 11:29 [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity Zhihao Cheng
@ 2021-06-16 13:22 ` kernel test robot
  2021-06-16 19:39 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-06-16 13:22 UTC (permalink / raw)
  To: Zhihao Cheng, miquel.raynal, richard, vigneshr, boris.brezillon
  Cc: kbuild-all, linux-mtd, linux-kernel, chengzhihao1, yukuai3

[-- Attachment #1: Type: text/plain, Size: 2249 bytes --]

Hi Zhihao,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mtd/mtd/next]
[also build test WARNING on mtd/mtd/fixes linux/master linus/master v5.13-rc6 next-20210615]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Zhihao-Cheng/mtd-ftl-Initialize-rq-limits-discard_granularity/20210616-134538
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/64ffb6f0cfd38ca3d47e7bef4674c52a14fe024d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Zhihao-Cheng/mtd-ftl-Initialize-rq-limits-discard_granularity/20210616-134538
        git checkout 64ffb6f0cfd38ca3d47e7bef4674c52a14fe024d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/mtd/ftl.c:107: warning: "SECTOR_SIZE" redefined
     107 | #define SECTOR_SIZE 512
         | 
   In file included from drivers/mtd/ftl.c:73:
   include/linux/blkdev.h:967: note: this is the location of the previous definition
     967 | #define SECTOR_SIZE (1 << SECTOR_SHIFT)
         | 


vim +/SECTOR_SIZE +107 drivers/mtd/ftl.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  105  
^1da177e4c3f41 Linus Torvalds 2005-04-16  106  /* Sector size -- shouldn't need to change */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @107  #define SECTOR_SIZE	512
^1da177e4c3f41 Linus Torvalds 2005-04-16  108  
^1da177e4c3f41 Linus Torvalds 2005-04-16  109  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 68093 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity
  2021-06-13 11:29 [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity Zhihao Cheng
  2021-06-16 13:22 ` kernel test robot
@ 2021-06-16 19:39 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-06-16 19:39 UTC (permalink / raw)
  To: Zhihao Cheng, miquel.raynal, richard, vigneshr, boris.brezillon
  Cc: kbuild-all, clang-built-linux, linux-mtd, linux-kernel,
	chengzhihao1, yukuai3

[-- Attachment #1: Type: text/plain, Size: 2796 bytes --]

Hi Zhihao,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mtd/mtd/next]
[also build test WARNING on mtd/mtd/fixes linux/master linus/master v5.13-rc6 next-20210616]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Zhihao-Cheng/mtd-ftl-Initialize-rq-limits-discard_granularity/20210616-134538
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
config: riscv-randconfig-r024-20210615 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/0day-ci/linux/commit/64ffb6f0cfd38ca3d47e7bef4674c52a14fe024d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Zhihao-Cheng/mtd-ftl-Initialize-rq-limits-discard_granularity/20210616-134538
        git checkout 64ffb6f0cfd38ca3d47e7bef4674c52a14fe024d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/mtd/ftl.c:107:9: warning: 'SECTOR_SIZE' macro redefined [-Wmacro-redefined]
   #define SECTOR_SIZE     512
           ^
   include/linux/blkdev.h:967:9: note: previous definition is here
   #define SECTOR_SIZE (1 << SECTOR_SHIFT)
           ^
   1 warning generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for LOCKDEP
   Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
   Selected by
   - PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
   - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT


vim +/SECTOR_SIZE +107 drivers/mtd/ftl.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  105  
^1da177e4c3f41 Linus Torvalds 2005-04-16  106  /* Sector size -- shouldn't need to change */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @107  #define SECTOR_SIZE	512
^1da177e4c3f41 Linus Torvalds 2005-04-16  108  
^1da177e4c3f41 Linus Torvalds 2005-04-16  109  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 43635 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-16 19:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-13 11:29 [PATCH] mtd: ftl: Initialize rq.limits.discard_granularity Zhihao Cheng
2021-06-16 13:22 ` kernel test robot
2021-06-16 19:39 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).