dev.c (326ea986ac150acdc7656d57fca647db80b50158) | dev.c (7c4213f6a52f35ff6ba2d97aa4eb04cbfc963b86) |
---|---|
1/* 2 * (C) Copyright 2003 - 2004 3 * Sysgo AG, <www.elinos.com>, Pavel Bartusek <pba@sysgo.com> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 --- 45 unchanged lines hidden (view full) --- 54 55 56 if (reiserfs_block_dev_desc == NULL) 57 return 0; 58 59 60 if (byte_offset != 0) { 61 /* read first part which isn't aligned with start of sector */ | 1/* 2 * (C) Copyright 2003 - 2004 3 * Sysgo AG, <www.elinos.com>, Pavel Bartusek <pba@sysgo.com> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 --- 45 unchanged lines hidden (view full) --- 54 55 56 if (reiserfs_block_dev_desc == NULL) 57 return 0; 58 59 60 if (byte_offset != 0) { 61 /* read first part which isn't aligned with start of sector */ |
62 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc->dev, 63 part_info->start + sector, 1, 64 (unsigned long *)sec_buf) != 1) { | 62 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc, 63 part_info->start + 64 sector, 65 1, (void *)sec_buf) 66 != 1) { |
65 printf (" ** reiserfs_devread() read error\n"); 66 return 0; 67 } 68 memcpy(buf, sec_buf+byte_offset, min(SECTOR_SIZE-byte_offset, byte_len)); 69 buf+=min(SECTOR_SIZE-byte_offset, byte_len); 70 byte_len-=min(SECTOR_SIZE-byte_offset, byte_len); 71 sector++; 72 } 73 74 /* read sector aligned part */ 75 block_len = byte_len & ~(SECTOR_SIZE-1); | 67 printf (" ** reiserfs_devread() read error\n"); 68 return 0; 69 } 70 memcpy(buf, sec_buf+byte_offset, min(SECTOR_SIZE-byte_offset, byte_len)); 71 buf+=min(SECTOR_SIZE-byte_offset, byte_len); 72 byte_len-=min(SECTOR_SIZE-byte_offset, byte_len); 73 sector++; 74 } 75 76 /* read sector aligned part */ 77 block_len = byte_len & ~(SECTOR_SIZE-1); |
76 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc->dev, 77 part_info->start + sector, block_len/SECTOR_SIZE, 78 (unsigned long *)buf) != block_len/SECTOR_SIZE) { | 78 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc, 79 part_info->start + sector, 80 block_len / SECTOR_SIZE, 81 (void *)buf) 82 != block_len/SECTOR_SIZE) { |
79 printf (" ** reiserfs_devread() read error - block\n"); 80 return 0; 81 } 82 buf+=block_len; 83 byte_len-=block_len; 84 sector+= block_len/SECTOR_SIZE; 85 86 if ( byte_len != 0 ) { 87 /* read rest of data which are not in whole sector */ | 83 printf (" ** reiserfs_devread() read error - block\n"); 84 return 0; 85 } 86 buf+=block_len; 87 byte_len-=block_len; 88 sector+= block_len/SECTOR_SIZE; 89 90 if ( byte_len != 0 ) { 91 /* read rest of data which are not in whole sector */ |
88 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc->dev, 89 part_info->start + sector, 1, 90 (unsigned long *)sec_buf) != 1) { | 92 if (reiserfs_block_dev_desc->block_read(reiserfs_block_dev_desc, 93 part_info->start + 94 sector, 95 1, (void *)sec_buf) 96 != 1) { |
91 printf (" ** reiserfs_devread() read error - last part\n"); 92 return 0; 93 } 94 memcpy(buf, sec_buf, byte_len); 95 } 96 97 return 1; 98} | 97 printf (" ** reiserfs_devread() read error - last part\n"); 98 return 0; 99 } 100 memcpy(buf, sec_buf, byte_len); 101 } 102 103 return 1; 104} |