This commit is contained in:
Okan Tümüklü 2024-10-31 16:43:50 +02:00 committed by GitHub
commit c49d68dac8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -14,26 +14,27 @@
* not support creation of new blocks, so we return -EIO for this case.
*/
static int
adfs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh,
int create)
{
adfs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh, int create) {
// If create is false, check if the block number is valid
if (!create) {
if (block >= inode->i_blocks)
goto abort_toobig;
return -EFBIG; // The block number is too large, invalid.
block = __adfs_block_map(inode->i_sb, ADFS_I(inode)->indaddr,
block);
if (block)
// Map the block using the ADFS block mapping function
block = __adfs_block_map(inode->i_sb, ADFS_I(inode)->indaddr, block);
if (!block)
return -EIO; // Error in block mapping.
// Map the buffer head to the block
map_bh(bh, inode->i_sb, block);
return 0;
return 0; // Success.
}
/* don't support allocation of blocks yet */
return -EIO;
abort_toobig:
return 0;
// Block allocation is not yet supported.
return -EOPNOTSUPP;
}
static int adfs_writepages(struct address_space *mapping,
struct writeback_control *wbc)
{