diff options
Diffstat (limited to 'fs/ext3/namei.c')
-rw-r--r-- | fs/ext3/namei.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c index 4f35b2f315d4..e8e211795e9f 100644 --- a/fs/ext3/namei.c +++ b/fs/ext3/namei.c | |||
@@ -921,9 +921,12 @@ restart: | |||
921 | num++; | 921 | num++; |
922 | bh = ext3_getblk(NULL, dir, b++, 0, &err); | 922 | bh = ext3_getblk(NULL, dir, b++, 0, &err); |
923 | bh_use[ra_max] = bh; | 923 | bh_use[ra_max] = bh; |
924 | if (bh) | 924 | if (bh && !bh_uptodate_or_lock(bh)) { |
925 | ll_rw_block(READ | REQ_META | REQ_PRIO, | 925 | get_bh(bh); |
926 | 1, &bh); | 926 | bh->b_end_io = end_buffer_read_sync; |
927 | submit_bh(READ | REQ_META | REQ_PRIO, | ||
928 | bh); | ||
929 | } | ||
927 | } | 930 | } |
928 | } | 931 | } |
929 | if ((bh = bh_use[ra_ptr++]) == NULL) | 932 | if ((bh = bh_use[ra_ptr++]) == NULL) |
@@ -2272,7 +2275,7 @@ retry: | |||
2272 | err = PTR_ERR(handle); | 2275 | err = PTR_ERR(handle); |
2273 | goto err_drop_inode; | 2276 | goto err_drop_inode; |
2274 | } | 2277 | } |
2275 | inc_nlink(inode); | 2278 | set_nlink(inode, 1); |
2276 | err = ext3_orphan_del(handle, inode); | 2279 | err = ext3_orphan_del(handle, inode); |
2277 | if (err) { | 2280 | if (err) { |
2278 | ext3_journal_stop(handle); | 2281 | ext3_journal_stop(handle); |