Whamcloud - gitweb
Branch: b1_4
authoradilger <adilger>
Fri, 29 Apr 2005 20:24:51 +0000 (20:24 +0000)
committeradilger <adilger>
Fri, 29 Apr 2005 20:24:51 +0000 (20:24 +0000)
- don't reference lr_lvb_data until after we hold lr_lvb_sem
b=6170

lustre/ChangeLog
lustre/obdfilter/filter_lvb.c

index 043ab0a..0b11a58 100644 (file)
@@ -26,6 +26,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        - Avoid lock ordering deadlock issue with write/truncate (6203,5654)
        - reserve enough journal credits in fsfilt_start_log for setattr (4554)
        - ldlm_enqueue freed-export error path would always LBUG (6149,6184)
+       - don't reference lr_lvb_data until after we hold lr_lvb_sem (6170)
        * miscellania
        - by default create 1 inode per 4kB space on MDS, per 16kB on OSTs
        - allow --write-conf on an MDS with different nettype than client (5619)
index c8a9d9b..e0ff9eb 100644 (file)
@@ -100,7 +100,7 @@ static int filter_lvbo_update(struct ldlm_resource *res, struct lustre_msg *m,
                               int buf_idx, int increase)
 {
         int rc = 0;
-        struct ost_lvb *lvb = res->lr_lvb_data;
+        struct ost_lvb *lvb;
         struct obd_device *obd;
         struct dentry *dentry;
         ENTRY;
@@ -113,6 +113,7 @@ static int filter_lvbo_update(struct ldlm_resource *res, struct lustre_msg *m,
                 RETURN(0);
 
         down(&res->lr_lvb_sem);
+        lvb = res->lr_lvb_data;
         if (lvb == NULL) {
                 CERROR("No lvb when running lvbo_update!\n");
                 GOTO(out, rc = 0);