Date: Wed, 20 Feb 2008 00:54:21 +0300 (MSK) From: Oleg Sharoiko <os@rsu.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Oleg Sharoiko <os@rsu.ru> Subject: kern/120858: [patch] [cam] panic: ufs_dirbad with CLARiiON CX3-40 Message-ID: <200802192154.m1JLsLeA010248@brain.cc.rsu.ru> Resent-Message-ID: <200802192200.m1JM05wu034017@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 120858 >Category: kern >Synopsis: [patch] [cam] panic: ufs_dirbad with CLARiiON CX3-40 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Feb 19 22:00:04 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Oleg Sharoiko >Release: FreeBSD 7.0-RC1 amd64 >Organization: Southern federal university >Environment: System: FreeBSD blade-3-1.r61.net 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #1: Tue Feb 19 19:00:51 UTC 2008 os@blade-3-1.r61.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Had a chance to play with FreeBSD on IBM BladeCenter H and EMC CLARiiON CX3-40. Moderate I/O activity on ufs filesystem gave me a reproducable ufs_dirbad panic and corrupted root directory of filesystem. >How-To-Repeat: Assuming da0 is a LUN on CX3: newfs -U /dev/da0s1a mount /dev/da0s1a /mnt tar cf - -C / --one-file-system . usr var tmp | tar xvf -C /mnt >Fix: Lowering queue depth down to 63 (with camcontrol tags da0 -N 63) fixes this issue. I did several successfull make -9 buildworld and make -j buildkerel. With queue depth 64 I still got panics. Here is a patch which sets maxtags to 63 for volumes on CLARiiON. The LUNs from CLARiON are identified by camcontrol devlist as follows: <DGC RAID 5 0324> at scbus0 target 0 lun 0 (pass0,da0) <DGC RAID 5 0324> at scbus0 target 1 lun 0 (pass1,da1) <DGC RAID 5 0324> at scbus1 target 0 lun 0 (pass2,da2) <DGC RAID 5 0324> at scbus1 target 1 lun 0 (pass3,da3) I'm not sure if DGC is a sufficently narrow pattern for xpt_quirk_table, but can't suggest anything better. Index: cam_xpt.c =================================================================== RCS file: /home/ncvs/src/sys/cam/cam_xpt.c,v retrieving revision 1.190.2.1 diff -u -r1.190.2.1 cam_xpt.c --- cam_xpt.c 31 Jan 2008 09:31:41 -0000 1.190.2.1 +++ cam_xpt.c 19 Feb 2008 20:33:30 -0000 @@ -632,6 +632,15 @@ CAM_QUIRK_NOSERIAL, /*mintags*/0, /*maxtags*/0 }, { + /* + * It looks like EMC CLARiiON CX3 model 40 silently + * drops commands when there are more than 63 commands + * in a queue + */ + { T_ANY, SIP_MEDIA_FIXED|SIP_MEDIA_REMOVABLE, "DGC", "*", "*" }, + /*quirks*/0, /*mintags*/2, /*maxtags*/63 + }, + { /* Default tagged queuing parameters for all devices */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802192154.m1JLsLeA010248>