DragonFly kernel List (threaded) for 2009-08
DragonFly BSD
DragonFly kernel List (threaded) for 2009-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: HAMMER problems with ciss


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 7 Aug 2009 13:07:03 -0700 (PDT)

:Hi All,
:
:I'm trying to do some testing with dfly 2.2 (both release and the last
:release snapshot) and HAMMER.
:For the first run I issued a simple dd if=/dev/zero of=testfile bs=1M
:command on the filesystem, which wrote some stuff out and immediately
:switched the file system into read only mode.
:
:UFS works fine.
:
:The kernel logs this:
:(da1:ciss1:0:1:0): SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0
:(da1:ciss1:0:1:0): CAM Status: SCSI Status Error
:(da1:ciss1:0:1:0): SCSI Status: Check Condition
:(da1:ciss1:0:1:0): ILLEGAL REQUEST asc:20,0
:(da1:ciss1:0:1:0): Invalid command operation code
:(da1:ciss1:0:1:0): Unretryable error
:HAMMER(test): Critical error inode=-1 while flushing meta-data
:HAMMER(test): Forcing read-only mode
:HAMMER(test): Critical error inode=-1 while flushing meta-data
:HAMMER(test): Critical write error during flush, refusing to sync UNDO FIFO
:
:This is with a HP P400 controller with battery backed write cache,
:which -as it seems- doesn't support the SYNCHRONIZE CACHE command.
:FreeBSD's ciss driver apparently has workaround for this.
:
:Any chance of merging that change into dfly?
:
:Regards,

    Hmm.  I looked at the driver code and we seem to have the same
    workaround.  The workaround is disabled in both the FreeBSD driver
    and our driver.  Please try changing line 899 in dev/raid/ciss.c,
    change the #if 0 to an #if 1.

#if 0
    /* XXX later revisions may not need this */
    sc->ciss_flags |= CISS_FLAG_FAKE_SYNCH;
#endif

    And see if that fixes the problem.  Also post all the ciss lines
    from /var/run/dmesg.boot, maybe I can do a more specific check of
    adapter version to set the flag for.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]