diff options
-rw-r--r-- | fs/xfs/xfs_attr.c | 5 | ||||
-rw-r--r-- | fs/xfs/xfs_attr_leaf.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_buf.c | 20 | ||||
-rw-r--r-- | fs/xfs/xfs_buf.h | 4 | ||||
-rw-r--r-- | fs/xfs/xfs_fsops.c | 13 | ||||
-rw-r--r-- | fs/xfs/xfs_ialloc.c | 3 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.c | 16 | ||||
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 7 | ||||
-rw-r--r-- | fs/xfs/xfs_rw.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_trans_buf.c | 4 | ||||
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 2 |
11 files changed, 29 insertions, 49 deletions
diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c index 6e9bd7e46982..c8ef9a9c312b 100644 --- a/fs/xfs/xfs_attr.c +++ b/fs/xfs/xfs_attr.c | |||
@@ -1988,8 +1988,7 @@ xfs_attr_rmtval_get(xfs_da_args_t *args) | |||
1988 | dblkno = XFS_FSB_TO_DADDR(mp, map[i].br_startblock); | 1988 | dblkno = XFS_FSB_TO_DADDR(mp, map[i].br_startblock); |
1989 | blkcnt = XFS_FSB_TO_BB(mp, map[i].br_blockcount); | 1989 | blkcnt = XFS_FSB_TO_BB(mp, map[i].br_blockcount); |
1990 | error = xfs_read_buf(mp, mp->m_ddev_targp, dblkno, | 1990 | error = xfs_read_buf(mp, mp->m_ddev_targp, dblkno, |
1991 | blkcnt, XBF_LOCK | XBF_DONT_BLOCK, | 1991 | blkcnt, XBF_DONT_BLOCK, &bp); |
1992 | &bp); | ||
1993 | if (error) | 1992 | if (error) |
1994 | return(error); | 1993 | return(error); |
1995 | 1994 | ||
@@ -2116,7 +2115,7 @@ xfs_attr_rmtval_set(xfs_da_args_t *args) | |||
2116 | blkcnt = XFS_FSB_TO_BB(mp, map.br_blockcount); | 2115 | blkcnt = XFS_FSB_TO_BB(mp, map.br_blockcount); |
2117 | 2116 | ||
2118 | bp = xfs_buf_get(mp->m_ddev_targp, dblkno, blkcnt, | 2117 | bp = xfs_buf_get(mp->m_ddev_targp, dblkno, blkcnt, |
2119 | XBF_LOCK | XBF_DONT_BLOCK); | 2118 | XBF_DONT_BLOCK); |
2120 | if (!bp) | 2119 | if (!bp) |
2121 | return ENOMEM; | 2120 | return ENOMEM; |
2122 | 2121 | ||
diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c index 76d93dc953e1..3cd5dc668043 100644 --- a/fs/xfs/xfs_attr_leaf.c +++ b/fs/xfs/xfs_attr_leaf.c | |||
@@ -2983,7 +2983,7 @@ xfs_attr_leaf_freextent(xfs_trans_t **trans, xfs_inode_t *dp, | |||
2983 | map.br_blockcount); | 2983 | map.br_blockcount); |
2984 | bp = xfs_trans_get_buf(*trans, | 2984 | bp = xfs_trans_get_buf(*trans, |
2985 | dp->i_mount->m_ddev_targp, | 2985 | dp->i_mount->m_ddev_targp, |
2986 | dblkno, dblkcnt, XBF_LOCK); | 2986 | dblkno, dblkcnt, 0); |
2987 | if (!bp) | 2987 | if (!bp) |
2988 | return ENOMEM; | 2988 | return ENOMEM; |
2989 | xfs_trans_binval(*trans, bp); | 2989 | xfs_trans_binval(*trans, bp); |
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 942cf5051ab4..8366348aa1f9 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c | |||
@@ -185,7 +185,7 @@ xfs_buf_alloc( | |||
185 | /* | 185 | /* |
186 | * We don't want certain flags to appear in b_flags. | 186 | * We don't want certain flags to appear in b_flags. |
187 | */ | 187 | */ |
188 | flags &= ~(XBF_LOCK|XBF_MAPPED|XBF_DONT_BLOCK|XBF_READ_AHEAD); | 188 | flags &= ~(XBF_MAPPED|XBF_DONT_BLOCK|XBF_READ_AHEAD); |
189 | 189 | ||
190 | atomic_set(&bp->b_hold, 1); | 190 | atomic_set(&bp->b_hold, 1); |
191 | atomic_set(&bp->b_lru_ref, 1); | 191 | atomic_set(&bp->b_lru_ref, 1); |
@@ -584,19 +584,14 @@ found: | |||
584 | if (unlikely(error)) { | 584 | if (unlikely(error)) { |
585 | xfs_warn(target->bt_mount, | 585 | xfs_warn(target->bt_mount, |
586 | "%s: failed to map pages\n", __func__); | 586 | "%s: failed to map pages\n", __func__); |
587 | goto no_buffer; | 587 | xfs_buf_relse(bp); |
588 | return NULL; | ||
588 | } | 589 | } |
589 | } | 590 | } |
590 | 591 | ||
591 | XFS_STATS_INC(xb_get); | 592 | XFS_STATS_INC(xb_get); |
592 | trace_xfs_buf_get(bp, flags, _RET_IP_); | 593 | trace_xfs_buf_get(bp, flags, _RET_IP_); |
593 | return bp; | 594 | return bp; |
594 | |||
595 | no_buffer: | ||
596 | if (flags & (XBF_LOCK | XBF_TRYLOCK)) | ||
597 | xfs_buf_unlock(bp); | ||
598 | xfs_buf_rele(bp); | ||
599 | return NULL; | ||
600 | } | 595 | } |
601 | 596 | ||
602 | STATIC int | 597 | STATIC int |
@@ -639,7 +634,8 @@ xfs_buf_read( | |||
639 | * Read ahead call which is already satisfied, | 634 | * Read ahead call which is already satisfied, |
640 | * drop the buffer | 635 | * drop the buffer |
641 | */ | 636 | */ |
642 | goto no_buffer; | 637 | xfs_buf_relse(bp); |
638 | return NULL; | ||
643 | } else { | 639 | } else { |
644 | /* We do not want read in the flags */ | 640 | /* We do not want read in the flags */ |
645 | bp->b_flags &= ~XBF_READ; | 641 | bp->b_flags &= ~XBF_READ; |
@@ -647,12 +643,6 @@ xfs_buf_read( | |||
647 | } | 643 | } |
648 | 644 | ||
649 | return bp; | 645 | return bp; |
650 | |||
651 | no_buffer: | ||
652 | if (flags & (XBF_LOCK | XBF_TRYLOCK)) | ||
653 | xfs_buf_unlock(bp); | ||
654 | xfs_buf_rele(bp); | ||
655 | return NULL; | ||
656 | } | 646 | } |
657 | 647 | ||
658 | /* | 648 | /* |
diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h index 5b048f7d13ea..512d9a6776a5 100644 --- a/fs/xfs/xfs_buf.h +++ b/fs/xfs/xfs_buf.h | |||
@@ -52,7 +52,6 @@ typedef enum { | |||
52 | #define XBF_FLUSH (1 << 12)/* flush the disk cache before a write */ | 52 | #define XBF_FLUSH (1 << 12)/* flush the disk cache before a write */ |
53 | 53 | ||
54 | /* flags used only as arguments to access routines */ | 54 | /* flags used only as arguments to access routines */ |
55 | #define XBF_LOCK (1 << 15)/* lock requested */ | ||
56 | #define XBF_TRYLOCK (1 << 16)/* lock requested, but do not wait */ | 55 | #define XBF_TRYLOCK (1 << 16)/* lock requested, but do not wait */ |
57 | #define XBF_DONT_BLOCK (1 << 17)/* do not block in current thread */ | 56 | #define XBF_DONT_BLOCK (1 << 17)/* do not block in current thread */ |
58 | 57 | ||
@@ -74,8 +73,7 @@ typedef unsigned int xfs_buf_flags_t; | |||
74 | { XBF_SYNCIO, "SYNCIO" }, \ | 73 | { XBF_SYNCIO, "SYNCIO" }, \ |
75 | { XBF_FUA, "FUA" }, \ | 74 | { XBF_FUA, "FUA" }, \ |
76 | { XBF_FLUSH, "FLUSH" }, \ | 75 | { XBF_FLUSH, "FLUSH" }, \ |
77 | { XBF_LOCK, "LOCK" }, /* should never be set */\ | 76 | { XBF_TRYLOCK, "TRYLOCK" }, /* should never be set */\ |
78 | { XBF_TRYLOCK, "TRYLOCK" }, /* ditto */\ | ||
79 | { XBF_DONT_BLOCK, "DONT_BLOCK" }, /* ditto */\ | 77 | { XBF_DONT_BLOCK, "DONT_BLOCK" }, /* ditto */\ |
80 | { _XBF_PAGES, "PAGES" }, \ | 78 | { _XBF_PAGES, "PAGES" }, \ |
81 | { _XBF_KMEM, "KMEM" }, \ | 79 | { _XBF_KMEM, "KMEM" }, \ |
diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 019ba5c52a49..874d39883dab 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c | |||
@@ -193,7 +193,7 @@ xfs_growfs_data_private( | |||
193 | */ | 193 | */ |
194 | bp = xfs_buf_get(mp->m_ddev_targp, | 194 | bp = xfs_buf_get(mp->m_ddev_targp, |
195 | XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)), | 195 | XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)), |
196 | XFS_FSS_TO_BB(mp, 1), XBF_LOCK | XBF_MAPPED); | 196 | XFS_FSS_TO_BB(mp, 1), XBF_MAPPED); |
197 | if (!bp) { | 197 | if (!bp) { |
198 | error = ENOMEM; | 198 | error = ENOMEM; |
199 | goto error0; | 199 | goto error0; |
@@ -230,7 +230,7 @@ xfs_growfs_data_private( | |||
230 | */ | 230 | */ |
231 | bp = xfs_buf_get(mp->m_ddev_targp, | 231 | bp = xfs_buf_get(mp->m_ddev_targp, |
232 | XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), | 232 | XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), |
233 | XFS_FSS_TO_BB(mp, 1), XBF_LOCK | XBF_MAPPED); | 233 | XFS_FSS_TO_BB(mp, 1), XBF_MAPPED); |
234 | if (!bp) { | 234 | if (!bp) { |
235 | error = ENOMEM; | 235 | error = ENOMEM; |
236 | goto error0; | 236 | goto error0; |
@@ -259,8 +259,7 @@ xfs_growfs_data_private( | |||
259 | */ | 259 | */ |
260 | bp = xfs_buf_get(mp->m_ddev_targp, | 260 | bp = xfs_buf_get(mp->m_ddev_targp, |
261 | XFS_AGB_TO_DADDR(mp, agno, XFS_BNO_BLOCK(mp)), | 261 | XFS_AGB_TO_DADDR(mp, agno, XFS_BNO_BLOCK(mp)), |
262 | BTOBB(mp->m_sb.sb_blocksize), | 262 | BTOBB(mp->m_sb.sb_blocksize), XBF_MAPPED); |
263 | XBF_LOCK | XBF_MAPPED); | ||
264 | if (!bp) { | 263 | if (!bp) { |
265 | error = ENOMEM; | 264 | error = ENOMEM; |
266 | goto error0; | 265 | goto error0; |
@@ -286,8 +285,7 @@ xfs_growfs_data_private( | |||
286 | */ | 285 | */ |
287 | bp = xfs_buf_get(mp->m_ddev_targp, | 286 | bp = xfs_buf_get(mp->m_ddev_targp, |
288 | XFS_AGB_TO_DADDR(mp, agno, XFS_CNT_BLOCK(mp)), | 287 | XFS_AGB_TO_DADDR(mp, agno, XFS_CNT_BLOCK(mp)), |
289 | BTOBB(mp->m_sb.sb_blocksize), | 288 | BTOBB(mp->m_sb.sb_blocksize), XBF_MAPPED); |
290 | XBF_LOCK | XBF_MAPPED); | ||
291 | if (!bp) { | 289 | if (!bp) { |
292 | error = ENOMEM; | 290 | error = ENOMEM; |
293 | goto error0; | 291 | goto error0; |
@@ -314,8 +312,7 @@ xfs_growfs_data_private( | |||
314 | */ | 312 | */ |
315 | bp = xfs_buf_get(mp->m_ddev_targp, | 313 | bp = xfs_buf_get(mp->m_ddev_targp, |
316 | XFS_AGB_TO_DADDR(mp, agno, XFS_IBT_BLOCK(mp)), | 314 | XFS_AGB_TO_DADDR(mp, agno, XFS_IBT_BLOCK(mp)), |
317 | BTOBB(mp->m_sb.sb_blocksize), | 315 | BTOBB(mp->m_sb.sb_blocksize), XBF_MAPPED); |
318 | XBF_LOCK | XBF_MAPPED); | ||
319 | if (!bp) { | 316 | if (!bp) { |
320 | error = ENOMEM; | 317 | error = ENOMEM; |
321 | goto error0; | 318 | goto error0; |
diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c index dad1a31aa4fc..d094a23e1030 100644 --- a/fs/xfs/xfs_ialloc.c +++ b/fs/xfs/xfs_ialloc.c | |||
@@ -200,8 +200,7 @@ xfs_ialloc_inode_init( | |||
200 | */ | 200 | */ |
201 | d = XFS_AGB_TO_DADDR(mp, agno, agbno + (j * blks_per_cluster)); | 201 | d = XFS_AGB_TO_DADDR(mp, agno, agbno + (j * blks_per_cluster)); |
202 | fbuf = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, | 202 | fbuf = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, |
203 | mp->m_bsize * blks_per_cluster, | 203 | mp->m_bsize * blks_per_cluster, 0); |
204 | XBF_LOCK); | ||
205 | if (!fbuf) | 204 | if (!fbuf) |
206 | return ENOMEM; | 205 | return ENOMEM; |
207 | /* | 206 | /* |
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 65d7d994d499..f64b482a7953 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -226,7 +226,7 @@ xfs_inotobp( | |||
226 | if (error) | 226 | if (error) |
227 | return error; | 227 | return error; |
228 | 228 | ||
229 | error = xfs_imap_to_bp(mp, tp, &imap, &bp, XBF_LOCK, imap_flags); | 229 | error = xfs_imap_to_bp(mp, tp, &imap, &bp, 0, imap_flags); |
230 | if (error) | 230 | if (error) |
231 | return error; | 231 | return error; |
232 | 232 | ||
@@ -782,8 +782,7 @@ xfs_iread( | |||
782 | /* | 782 | /* |
783 | * Get pointers to the on-disk inode and the buffer containing it. | 783 | * Get pointers to the on-disk inode and the buffer containing it. |
784 | */ | 784 | */ |
785 | error = xfs_imap_to_bp(mp, tp, &ip->i_imap, &bp, | 785 | error = xfs_imap_to_bp(mp, tp, &ip->i_imap, &bp, 0, iget_flags); |
786 | XBF_LOCK, iget_flags); | ||
787 | if (error) | 786 | if (error) |
788 | return error; | 787 | return error; |
789 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, ip->i_imap.im_boffset); | 788 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, ip->i_imap.im_boffset); |
@@ -1342,7 +1341,7 @@ xfs_iunlink( | |||
1342 | * Here we put the head pointer into our next pointer, | 1341 | * Here we put the head pointer into our next pointer, |
1343 | * and then we fall through to point the head at us. | 1342 | * and then we fall through to point the head at us. |
1344 | */ | 1343 | */ |
1345 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, XBF_LOCK); | 1344 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, 0); |
1346 | if (error) | 1345 | if (error) |
1347 | return error; | 1346 | return error; |
1348 | 1347 | ||
@@ -1423,7 +1422,7 @@ xfs_iunlink_remove( | |||
1423 | * of dealing with the buffer when there is no need to | 1422 | * of dealing with the buffer when there is no need to |
1424 | * change it. | 1423 | * change it. |
1425 | */ | 1424 | */ |
1426 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, XBF_LOCK); | 1425 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, 0); |
1427 | if (error) { | 1426 | if (error) { |
1428 | xfs_warn(mp, "%s: xfs_itobp() returned error %d.", | 1427 | xfs_warn(mp, "%s: xfs_itobp() returned error %d.", |
1429 | __func__, error); | 1428 | __func__, error); |
@@ -1484,7 +1483,7 @@ xfs_iunlink_remove( | |||
1484 | * Now last_ibp points to the buffer previous to us on | 1483 | * Now last_ibp points to the buffer previous to us on |
1485 | * the unlinked list. Pull us from the list. | 1484 | * the unlinked list. Pull us from the list. |
1486 | */ | 1485 | */ |
1487 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, XBF_LOCK); | 1486 | error = xfs_itobp(mp, tp, ip, &dip, &ibp, 0); |
1488 | if (error) { | 1487 | if (error) { |
1489 | xfs_warn(mp, "%s: xfs_itobp(2) returned error %d.", | 1488 | xfs_warn(mp, "%s: xfs_itobp(2) returned error %d.", |
1490 | __func__, error); | 1489 | __func__, error); |
@@ -1566,8 +1565,7 @@ xfs_ifree_cluster( | |||
1566 | * to mark all the active inodes on the buffer stale. | 1565 | * to mark all the active inodes on the buffer stale. |
1567 | */ | 1566 | */ |
1568 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, blkno, | 1567 | bp = xfs_trans_get_buf(tp, mp->m_ddev_targp, blkno, |
1569 | mp->m_bsize * blks_per_cluster, | 1568 | mp->m_bsize * blks_per_cluster, 0); |
1570 | XBF_LOCK); | ||
1571 | 1569 | ||
1572 | if (!bp) | 1570 | if (!bp) |
1573 | return ENOMEM; | 1571 | return ENOMEM; |
@@ -1737,7 +1735,7 @@ xfs_ifree( | |||
1737 | 1735 | ||
1738 | xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); | 1736 | xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); |
1739 | 1737 | ||
1740 | error = xfs_itobp(ip->i_mount, tp, ip, &dip, &ibp, XBF_LOCK); | 1738 | error = xfs_itobp(ip->i_mount, tp, ip, &dip, &ibp, 0); |
1741 | if (error) | 1739 | if (error) |
1742 | return error; | 1740 | return error; |
1743 | 1741 | ||
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 8c826b00aac1..0d9bdb6bace4 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c | |||
@@ -2131,7 +2131,7 @@ xlog_recover_buffer_pass2( | |||
2131 | 2131 | ||
2132 | trace_xfs_log_recover_buf_recover(log, buf_f); | 2132 | trace_xfs_log_recover_buf_recover(log, buf_f); |
2133 | 2133 | ||
2134 | buf_flags = XBF_LOCK; | 2134 | buf_flags = 0; |
2135 | if (!(buf_f->blf_flags & XFS_BLF_INODE_BUF)) | 2135 | if (!(buf_f->blf_flags & XFS_BLF_INODE_BUF)) |
2136 | buf_flags |= XBF_MAPPED; | 2136 | buf_flags |= XBF_MAPPED; |
2137 | 2137 | ||
@@ -2229,8 +2229,7 @@ xlog_recover_inode_pass2( | |||
2229 | } | 2229 | } |
2230 | trace_xfs_log_recover_inode_recover(log, in_f); | 2230 | trace_xfs_log_recover_inode_recover(log, in_f); |
2231 | 2231 | ||
2232 | bp = xfs_buf_read(mp->m_ddev_targp, in_f->ilf_blkno, in_f->ilf_len, | 2232 | bp = xfs_buf_read(mp->m_ddev_targp, in_f->ilf_blkno, in_f->ilf_len, 0); |
2233 | XBF_LOCK); | ||
2234 | if (!bp) { | 2233 | if (!bp) { |
2235 | error = ENOMEM; | 2234 | error = ENOMEM; |
2236 | goto error; | 2235 | goto error; |
@@ -3103,7 +3102,7 @@ xlog_recover_process_one_iunlink( | |||
3103 | /* | 3102 | /* |
3104 | * Get the on disk inode to find the next inode in the bucket. | 3103 | * Get the on disk inode to find the next inode in the bucket. |
3105 | */ | 3104 | */ |
3106 | error = xfs_itobp(mp, NULL, ip, &dip, &ibp, XBF_LOCK); | 3105 | error = xfs_itobp(mp, NULL, ip, &dip, &ibp, 0); |
3107 | if (error) | 3106 | if (error) |
3108 | goto fail_iput; | 3107 | goto fail_iput; |
3109 | 3108 | ||
diff --git a/fs/xfs/xfs_rw.c b/fs/xfs/xfs_rw.c index 597d044a09a1..2ce97758f4c7 100644 --- a/fs/xfs/xfs_rw.c +++ b/fs/xfs/xfs_rw.c | |||
@@ -114,7 +114,7 @@ xfs_read_buf( | |||
114 | int error; | 114 | int error; |
115 | 115 | ||
116 | if (!flags) | 116 | if (!flags) |
117 | flags = XBF_LOCK | XBF_MAPPED; | 117 | flags = XBF_MAPPED; |
118 | 118 | ||
119 | bp = xfs_buf_read(target, blkno, len, flags); | 119 | bp = xfs_buf_read(target, blkno, len, flags); |
120 | if (!bp) | 120 | if (!bp) |
diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 2ec196b6c079..f9cb7ee04dae 100644 --- a/fs/xfs/xfs_trans_buf.c +++ b/fs/xfs/xfs_trans_buf.c | |||
@@ -142,7 +142,7 @@ xfs_trans_get_buf(xfs_trans_t *tp, | |||
142 | xfs_buf_log_item_t *bip; | 142 | xfs_buf_log_item_t *bip; |
143 | 143 | ||
144 | if (flags == 0) | 144 | if (flags == 0) |
145 | flags = XBF_LOCK | XBF_MAPPED; | 145 | flags = XBF_MAPPED; |
146 | 146 | ||
147 | /* | 147 | /* |
148 | * Default to a normal get_buf() call if the tp is NULL. | 148 | * Default to a normal get_buf() call if the tp is NULL. |
@@ -275,7 +275,7 @@ xfs_trans_read_buf( | |||
275 | int error; | 275 | int error; |
276 | 276 | ||
277 | if (flags == 0) | 277 | if (flags == 0) |
278 | flags = XBF_LOCK | XBF_MAPPED; | 278 | flags = XBF_MAPPED; |
279 | 279 | ||
280 | /* | 280 | /* |
281 | * Default to a normal get_buf() call if the tp is NULL. | 281 | * Default to a normal get_buf() call if the tp is NULL. |
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 445c224742b8..8f99c7781f39 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c | |||
@@ -82,7 +82,7 @@ xfs_readlink_bmap( | |||
82 | byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount); | 82 | byte_cnt = XFS_FSB_TO_B(mp, mval[n].br_blockcount); |
83 | 83 | ||
84 | bp = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt), | 84 | bp = xfs_buf_read(mp->m_ddev_targp, d, BTOBB(byte_cnt), |
85 | XBF_LOCK | XBF_MAPPED | XBF_DONT_BLOCK); | 85 | XBF_MAPPED | XBF_DONT_BLOCK); |
86 | if (!bp) | 86 | if (!bp) |
87 | return XFS_ERROR(ENOMEM); | 87 | return XFS_ERROR(ENOMEM); |
88 | error = bp->b_error; | 88 | error = bp->b_error; |