Whamcloud - gitweb
- add fo_alloc_lock serialization support for extents/mballoc case
authoralex <alex>
Thu, 1 Sep 2005 21:53:36 +0000 (21:53 +0000)
committeralex <alex>
Thu, 1 Sep 2005 21:53:36 +0000 (21:53 +0000)
lustre/lvfs/fsfilt_ext3.c

index 6d23c7f..5132a17 100644 (file)
@@ -1040,18 +1040,17 @@ int fsfilt_ext3_map_inode_pages(struct inode *inode, struct page **page,
                                 int *created, int create,
                                 struct semaphore *optional_sem)
 {
-        int rc;
+        int rc = 0;
+        if (optional_sem != NULL)
+                down(optional_sem);
 #ifdef EXT3_MULTIBLOCK_ALLOCATOR
-        if (EXT3_I(inode)->i_flags & EXT3_EXTENTS_FL) {
+        if (EXT3_I(inode)->i_flags & EXT3_EXTENTS_FL)
                 rc = fsfilt_ext3_map_ext_inode_pages(inode, page, pages,
                                                      blocks, created, create);
-                return rc;
-        }
+        else
 #endif
-        if (optional_sem != NULL)
-                down(optional_sem);
-        rc = fsfilt_ext3_map_bm_inode_pages(inode, page, pages, blocks,
-                                            created, create);
+                rc = fsfilt_ext3_map_bm_inode_pages(inode, page, pages, blocks,
+                                                    created, create);
         if (optional_sem != NULL)
                 up(optional_sem);