From 9cb7c43caa72bc638f3a90acdc7a710fb0ea2783 Mon Sep 17 00:00:00 2001 From: johann Date: Mon, 28 May 2007 12:07:35 +0000 Subject: [PATCH] Branch b1_6 Clear iobuf->dr_error between two uses. b=11722 i=green i=adilger --- lustre/ChangeLog | 7 +++++++ lustre/obdfilter/filter_io_26.c | 2 ++ 2 files changed, 9 insertions(+) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 1283216..4d242ea 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -15,6 +15,13 @@ tbd Cluster File Systems, Inc. * bug fixes Severity : normal +Frequency : rare +Bugzilla : 11722 +Description: Transient SCSI error results in persistent IO issue +Details : iobuf->dr_error is not reinitialized to 0 between two + uses. + +Severity : normal Frequency : SLES10 only Bugzilla : 12538 Description: sanity-quota.sh quotacheck failed: rc = -22 diff --git a/lustre/obdfilter/filter_io_26.c b/lustre/obdfilter/filter_io_26.c index b8b9a7c..eeae4bd 100644 --- a/lustre/obdfilter/filter_io_26.c +++ b/lustre/obdfilter/filter_io_26.c @@ -182,6 +182,7 @@ struct filter_iobuf *filter_alloc_iobuf(struct filter_obd *filter, spin_lock_init(&iobuf->dr_lock); iobuf->dr_max_pages = num_pages; iobuf->dr_npages = 0; + iobuf->dr_error = 0; RETURN(iobuf); @@ -197,6 +198,7 @@ struct filter_iobuf *filter_alloc_iobuf(struct filter_obd *filter, static void filter_clear_iobuf(struct filter_iobuf *iobuf) { iobuf->dr_npages = 0; + iobuf->dr_error = 0; atomic_set(&iobuf->dr_numreqs, 0); } -- 1.8.3.1