]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/ext3/namei.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[mv-sheeva.git] / fs / ext3 / namei.c
index 4f35b2f315d4c8ee758ed91cf7479e672ad26c03..e8e211795e9f3cf13a34c12e1376efcde034fa54 100644 (file)
@@ -921,9 +921,12 @@ restart:
                                num++;
                                bh = ext3_getblk(NULL, dir, b++, 0, &err);
                                bh_use[ra_max] = bh;
-                               if (bh)
-                                       ll_rw_block(READ | REQ_META | REQ_PRIO,
-                                                   1, &bh);
+                               if (bh && !bh_uptodate_or_lock(bh)) {
+                                       get_bh(bh);
+                                       bh->b_end_io = end_buffer_read_sync;
+                                       submit_bh(READ | REQ_META | REQ_PRIO,
+                                                 bh);
+                               }
                        }
                }
                if ((bh = bh_use[ra_ptr++]) == NULL)
@@ -2272,7 +2275,7 @@ retry:
                        err = PTR_ERR(handle);
                        goto err_drop_inode;
                }
-               inc_nlink(inode);
+               set_nlink(inode, 1);
                err = ext3_orphan_del(handle, inode);
                if (err) {
                        ext3_journal_stop(handle);