Loading fs/xfs/linux-2.6/xfs_aops.c +17 −9 Original line number Diff line number Diff line Loading @@ -701,7 +701,7 @@ xfs_is_delayed_page( else if (buffer_delay(bh)) acceptable = (type == IOMAP_DELAY); else if (buffer_dirty(bh) && buffer_mapped(bh)) acceptable = (type == 0); acceptable = (type == IOMAP_NEW); else break; } while ((bh = bh->b_this_page) != head); Loading Loading @@ -810,7 +810,7 @@ xfs_convert_page( page_dirty--; count++; } else { type = 0; type = IOMAP_NEW; if (buffer_mapped(bh) && all_bh && startio) { lock_buffer(bh); xfs_add_to_ioend(inode, bh, offset, Loading Loading @@ -968,8 +968,8 @@ xfs_page_state_convert( bh = head = page_buffers(page); offset = page_offset(page); flags = -1; type = IOMAP_READ; flags = BMAPI_READ; type = IOMAP_NEW; /* TODO: cleanup count and page_dirty */ Loading Loading @@ -1055,7 +1055,7 @@ xfs_page_state_convert( * That means it must already have extents allocated * underneath it. Map the extent by reading it. */ if (!iomap_valid || type != IOMAP_READ) { if (!iomap_valid || flags != BMAPI_READ) { flags = BMAPI_READ; size = xfs_probe_cluster(inode, page, bh, head, 1); Loading @@ -1066,7 +1066,15 @@ xfs_page_state_convert( iomap_valid = xfs_iomap_valid(&iomap, offset); } type = IOMAP_READ; /* * We set the type to IOMAP_NEW in case we are doing a * small write at EOF that is extending the file but * without needing an allocation. We need to update the * file size on I/O completion in this case so it is * the same case as having just allocated a new extent * that we are writing into for the first time. */ type = IOMAP_NEW; if (!test_and_set_bit(BH_Lock, &bh->b_state)) { ASSERT(buffer_mapped(bh)); if (iomap_valid) Loading Loading
fs/xfs/linux-2.6/xfs_aops.c +17 −9 Original line number Diff line number Diff line Loading @@ -701,7 +701,7 @@ xfs_is_delayed_page( else if (buffer_delay(bh)) acceptable = (type == IOMAP_DELAY); else if (buffer_dirty(bh) && buffer_mapped(bh)) acceptable = (type == 0); acceptable = (type == IOMAP_NEW); else break; } while ((bh = bh->b_this_page) != head); Loading Loading @@ -810,7 +810,7 @@ xfs_convert_page( page_dirty--; count++; } else { type = 0; type = IOMAP_NEW; if (buffer_mapped(bh) && all_bh && startio) { lock_buffer(bh); xfs_add_to_ioend(inode, bh, offset, Loading Loading @@ -968,8 +968,8 @@ xfs_page_state_convert( bh = head = page_buffers(page); offset = page_offset(page); flags = -1; type = IOMAP_READ; flags = BMAPI_READ; type = IOMAP_NEW; /* TODO: cleanup count and page_dirty */ Loading Loading @@ -1055,7 +1055,7 @@ xfs_page_state_convert( * That means it must already have extents allocated * underneath it. Map the extent by reading it. */ if (!iomap_valid || type != IOMAP_READ) { if (!iomap_valid || flags != BMAPI_READ) { flags = BMAPI_READ; size = xfs_probe_cluster(inode, page, bh, head, 1); Loading @@ -1066,7 +1066,15 @@ xfs_page_state_convert( iomap_valid = xfs_iomap_valid(&iomap, offset); } type = IOMAP_READ; /* * We set the type to IOMAP_NEW in case we are doing a * small write at EOF that is extending the file but * without needing an allocation. We need to update the * file size on I/O completion in this case so it is * the same case as having just allocated a new extent * that we are writing into for the first time. */ type = IOMAP_NEW; if (!test_and_set_bit(BH_Lock, &bh->b_state)) { ASSERT(buffer_mapped(bh)); if (iomap_valid) Loading