From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756370AbcHXOSw (ORCPT ); Wed, 24 Aug 2016 10:18:52 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:22426 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752945AbcHXOSt (ORCPT ); Wed, 24 Aug 2016 10:18:49 -0400 Subject: Re: [PATCH v4] block: make sure big bio is splitted into at most 256 bvecs To: Ming Lei , References: <1471960185-14044-1-git-send-email-ming.lei@canonical.com> CC: , Christoph Hellwig , "Kent Overstreet" , Eric Wheeler , Sebastian Roesner , "4.3+" , Shaohua Li , Jens Axboe From: Jens Axboe Message-ID: <2fff8ded-6046-e810-1777-4be9cbb029d6@fb.com> Date: Wed, 24 Aug 2016 08:17:51 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1471960185-14044-1-git-send-email-ming.lei@canonical.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: DM2PR21CA0030.namprd21.prod.outlook.com (10.161.137.168) To MWHPR15MB1197.namprd15.prod.outlook.com (10.175.2.139) X-MS-Office365-Filtering-Correlation-Id: f686457a-c64c-4f78-f519-08d3cc297163 X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1197;2:U1dYkMo00s6CLeuoZFFnbZjgFhxw1nJqfOrDcdAXXbuNR+z/Jne2HwBWbgCER68ENco2zUHwjgSXUPXLoNiERNZKbqe4oftiJPHHCaKF7jsl8kMw7y9IXZGkQFz7GRpDJnrsbVxj7kuW2vOd5jKHq5Xrr/I5Pdl+VlMwPxPnplziZSQLe/GzM1pEBrXEYmVF;3:ZHALAgx0f7FqcGULLmdj4k3rQ0jmxHzYtva9x97EJozNX5y+A/e4r1MA2OxFbloh6F68uw+Ac3m350Y4zupK+zefOqGgUThXoKoq70XLOKMR+mbjhARTfTeRa2eBwRel;25:wrFRcR9dEdKGr9v38klCwReD65RFFBqUO6re585BOf4M+I9X6l/FEvxYyamSheJkCVzkwSD2eyvT1FXKzkt01MmYhiCNb3E1He2Yu9I4hOYRGAKEUOwz7lNIs0YCZM/GjC1QRf5yD5mmUCKOY19fFMxP/HxQrhDxlX5VZSUqo42KfyZF7yBX2EyrchSiGoV3bQ/W4qrohknjbxrcHv4jhbg4MmPExgMuSBvw6R7Y4aoGzxJJyctqutU/yzSi6NbDqGz3WTQFa/5el4Uz6AQ7G90VxgwCdCbNDOXaXGXkLIdUu+SPnhDVhQNtFyIEhv2Gk3L5eznCKvDNcdF4v6yamTgtRtEjCmG9aFUE4BDnwWRqvDKvDb9nmD4QicsT1i/CSXG3T0yeByPKjutpidGSGCdBadY16FdM5w61cL8pZ28= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:MWHPR15MB1197; X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1197;31:lVbsZ8ETm4iOQbojlVqPnIhjKFu5Qi5CJtlvJsVeL0/KScciUXB3iPgwpFVsE6bvkE8wDt1ovrfNGjsMvtKelYmSodFaX61toG4lu/T43yZNIu1jpGBIqgaTnT9+8NQPqZUplt1k6+gpcCgCJ9MGKR0aTraMxatmf3XSdZfhasqlw+DZxR/OjcrBaGrmVDPlJL61V+vlc5WoCBpVWm3ceu95qMbZIaEch2eTyjqSQ24=;20:f9a52KMeKD3svVyLNKfgpdUZjrvU4NiBCK2BiPA3+2ignFKSiiKFV5N86t4uiAtAzfOBSJJIsfMa9QXtLQO14cJ2w5hvw0Mp4okQaNuR5tRUeNF9AXvVT+CUw+jp6QnVJ3wMFYAgQiQKbbqrHZCTGcz1FCZZ+2si2gUlQNx6e5E=;4:5uctoJPIDv1JNj9JoSt7On+kCOS2gsYoRCqnAdgYW7MduJFh+RYGd2tiUwFo3C7PZKxRlMncda7j87z4o3uwROmxDx3LpQ6caK4l4hySSX/Cr6if4EOWxb10Om0Un2y086gXIHjFp9eFzlzRw8fbUdvY6dpBF0+ABA0VODvrbdXRaLpCoeYNsuSMSz2GdfHSsmCs7aLFERGmWTCp47MA5xBQqZf2f6W5dPG6W4wbXFTNql1spz8dAkat4agYOX9r8cTEEnoJ5sWUa0GLyRCyQQFx9cyjv62ENkGSWg7rpqXtERPJ1CwVBcSpj2a2RhCcCqQkVvMqBxQ3INSx/jPDVuMohiQCPMbFdP5wcyU5PFmaySfQkMPj+egHP/E25g9eFVDmdHcsBiWUrQfB5vozDw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:MWHPR15MB1197;BCL:0;PCL:0;RULEID:;SRVR:MWHPR15MB1197; X-Forefront-PRVS: 0044C17179 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(189002)(199003)(377454003)(5001770100001)(97736004)(4001350100001)(31696002)(64126003)(189998001)(42186005)(68736007)(50466002)(31686004)(92566002)(66066001)(36756003)(47776003)(105586002)(83506001)(65956001)(65806001)(305945005)(33646002)(117156001)(106356001)(3846002)(76176999)(101416001)(54356999)(77096005)(23746002)(86362001)(4326007)(2950100001)(50986999)(5660300001)(2906002)(81156014)(6116002)(7736002)(8676002)(230700001)(7846002)(586003)(81166006)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR15MB1197;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;MWHPR15MB1197;23:p3/0n7Gpi6zhf42PVI/GpJaKFAeOciZlzYN0R?= =?Windows-1252?Q?xrsguh/PNTVIoCiXqGfl9zvcmMCkcKYl8hbVoctkECW2Jijgnhs6sbok?= =?Windows-1252?Q?BtibH2GTsOi38h411NA2DxDBelt/HKFxT4YttfurhJRU9GFcNeAwap3o?= =?Windows-1252?Q?fyWRc7JPeG/ZLQbcFTq7fp/GDsc7GPfCY0m2c8K0f150GaxO/S4obVbT?= =?Windows-1252?Q?nin+UjesqMHB/xereE5SHK3omRs7YYgU0nUV2cXF2cGWR8GcdcGO7JAA?= =?Windows-1252?Q?j3TgLyI4JO18bG7Aez8yOpVQ8k0Y7woz2TO6YMKONVy8sMxrDzQUJK5B?= =?Windows-1252?Q?k6XAX7Uav9PWOzEbppxx6shOStldYS9JRgfqEv2LzhIQn5eBJB9Pbri5?= =?Windows-1252?Q?bPQHK6iGVsU/jZnVcGtdPKfYscrO2zw1LiOZ36cn0kJcrRmPQ9y4d3fL?= =?Windows-1252?Q?p6VPM0PUMuOQCkRiatK2EIdiRbqgF4WMvX1Tbsm78lTMewOykDbNopYh?= =?Windows-1252?Q?J99rDf5MzPISRfWGfjtGdjZIrFlBCAzT/2mOnSnQBOMYWNIQscc6BwJe?= =?Windows-1252?Q?ZAXXm3H4v7qThZ6KBNlEHGCE4geqeDx18G2lnpT9RkoYO9bpHObXJwS1?= =?Windows-1252?Q?LvK1ipjNwtU4M4pk7uy2uzB9AmYssqBgwfpTW+pkIb/N9bEyEATyPSCk?= =?Windows-1252?Q?qZoi+7J5fCjjunAmWT5JTQMGcRM+TyZrvVn14hkG/Jg9LQFrhXwP8iQh?= =?Windows-1252?Q?GRC+HvfiSySxf0SCpv7FOXRO+gCxmLP6em3qiO+gEeeVN4Iv+pyjkhBT?= =?Windows-1252?Q?/vFU3nhR9/X8PjdTawUSB/N7/xfuc3U3Z9TIuBlI6Lr92w3t2FojnGVj?= =?Windows-1252?Q?c5WX2ceUeyA0xc5+R7j+IvhTXn8KJ6tqrg25tmzhctzcGQgvJsMyFEJX?= =?Windows-1252?Q?c8sC/hHa5ZxrhaWRgAsd+oIn1O2jhLCqbeuSz9NZOaWmnm7QSXTpTe+2?= =?Windows-1252?Q?GDA48NlHOP+tfTIMqedYIBlUXM2XarOICQe9VNnT+RMtj1a7Dg1V/8DF?= =?Windows-1252?Q?RbV6w1m8YYIrSFMXUxjETZVYmt43CKJBR5KgWyOcEcAJuQKnHn5FQTWK?= =?Windows-1252?Q?aoHKiZLWA10A8fwoh9ckJw9uAWKabmvOJIxFEl8SG0xcxySMtRSpNqG1?= =?Windows-1252?Q?bjHiShIbZVEMnVZ18lAJndgtnsg8isPSieEnk3gGh1w6JzZVfK77eCCX?= =?Windows-1252?Q?syu58cHgRWeCcfin16CG+FyytWhjMJSoh3Don8+geh1ctm/HjOqmNq8f?= =?Windows-1252?Q?kGzB6ehNc0FSbD1Nvy1Mk4+lE8frn90l0e9fYKW6qM79BFfaMmYKgYUt?= =?Windows-1252?Q?+eVI5rw9sqA?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1197;6:8HUJ9ps5wQpBHFpyoFyQXAdS0zxJiQDYi83jbWYR0K+V5s+e4RHtpNtfBvi0IlbwgNpeZmBWhkpZ3FGHgQrS2L4qNUpO3CbkKv+sKOxPTijz0pbE3VYLuKu7QkNKuijS7vgxLnCKkpFVVjhinCm3FcfyYsUjfo2vbmckABtXYIgK+QKBfUSOEz/0Dc0nLgJKb1k8fU2E8NQ8jvvEOYxNHgv4gs937qHVUseJR8l+oJ2EJcLTCMLdBbOlZYaBgQYvva/FjO+DUkN0ys9Yd1FBHhzHHYdlQt9vyBeKmf+XOm0=;5:x2i42KwSkrFxwgusf+gKmgiXLcg3jEzKmZag3QrvmzN63gNnsfCqNpK3AkBzxn0rw4Pg3mr9GihC6LjS5gCcDpfUZSTRyP5mX5Ekf8qahhbLyHlZOd/y79V63YBgEKafyrg0p62gSbcYhl60K86uBg==;24:f2MyIaU12CLN3CGrT8x1fdYkLxkC4sn2q2mpUfyeCD944RVb+QoMnPvwZY15rt8cN6sf0ohCegD+ll5dDoTMZ8Qbsl7zCDF8okvAphQS/2M=;7:VTNFphvMuxit2RHa77UHVT3lFmfxcjKEul52Hfcgd14jjSsM7YseBfKKkvksbvhtC2MwDMK+FRMhZD2KmptbgOVekuqrQzlyTQtve9Et1LOSiOXWcyFWik9SEQNJLIOhqCn3TC3oUJvxWjnqo1Wt6MQTyj6lonRnYKNkGSnpa3UwjqXzAIFrfef+kDtwQ1JRAp2FHLCpTy1UMY+i9JpPB50ERoGYFzi1WoHqPDi/nfSfUKXq5GEqd/j15QYs+gFw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1197;20:ub7fTY/uIbAZhzUvZtBazSQEKGNp+x7f8G4EXEUu3ewXGKUpL+Al6mC6VoVz4DG1pn4Rp7K9pRNg6AEPELxckgRM4oo3CtIGFh9g7kmMexdoWsxhz9kcAETcoOICwzBz/vd7X9rnGrFfFTwBWN908gkKuir4T6RIVfBbPt6qLn0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2016 14:17:54.7785 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1197 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-24_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/23/2016 07:49 AM, Ming Lei wrote: > After arbitrary bio size is supported, the incoming bio may > be very big. We have to split the bio into small bios so that > each holds at most BIO_MAX_PAGES bvecs for safety reason, such > as bio_clone(). > > This patch fixes the following kernel crash: > >> [ 172.660142] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028 >> [ 172.660229] IP: [] bio_trim+0xf/0x2a >> [ 172.660289] PGD 7faf3e067 PUD 7f9279067 PMD 0 >> [ 172.660399] Oops: 0000 [#1] SMP >> [...] >> [ 172.664780] Call Trace: >> [ 172.664813] [] ? raid1_make_request+0x2e8/0xad7 [raid1] >> [ 172.664846] [] ? blk_queue_split+0x377/0x3d4 >> [ 172.664880] [] ? md_make_request+0xf6/0x1e9 [md_mod] >> [ 172.664912] [] ? generic_make_request+0xb5/0x155 >> [ 172.664947] [] ? prio_io+0x85/0x95 [bcache] >> [ 172.664981] [] ? register_cache_set+0x355/0x8d0 [bcache] >> [ 172.665016] [] ? register_bcache+0x1006/0x1174 [bcache] > > The issue can be reproduced by the following steps: > - create one raid1 over two virtio-blk > - build bcache device over the above raid1 and another cache device > and bucket size is set as 2Mbytes > - set cache mode as writeback > - run random write over ext4 on the bcache device Applied for 4.8, thanks. -- Jens Axboe