Lines Matching refs:offset
351 off_t exfat_seek(struct exfat_dev* dev, off_t offset, int whence) in exfat_seek() argument
355 return dev->pos = lseek(dev->fd, offset, whence); in exfat_seek()
357 return lseek(dev->fd, offset, whence); in exfat_seek()
386 off_t offset) in exfat_pread() argument
389 return ublio_pread(dev->ufh, buffer, size, offset); in exfat_pread()
391 return pread(dev->fd, buffer, size, offset); in exfat_pread()
396 off_t offset) in exfat_pwrite() argument
399 return ublio_pwrite(dev->ufh, (void*) buffer, size, offset); in exfat_pwrite()
401 return pwrite(dev->fd, buffer, size, offset); in exfat_pwrite()
443 off_t offset) in exfat_pread() argument
451 sect = offset >> ctxt.cur_dev->log2blksz; in exfat_pread()
452 off = offset & (ctxt.cur_dev->blksz - 1); in exfat_pread()
461 off_t offset) in exfat_pwrite() argument
469 sect = offset >> ctxt.cur_dev->log2blksz; in exfat_pwrite()
470 off = offset & (ctxt.cur_dev->blksz - 1); in exfat_pwrite()
480 void* buffer, size_t size, off_t offset) in exfat_generic_pread() argument
486 if (offset >= node->size) in exfat_generic_pread()
491 if (offset + size > node->valid_size) in exfat_generic_pread()
495 if (offset < node->valid_size) in exfat_generic_pread()
498 node->valid_size - offset, offset); in exfat_generic_pread()
499 if (bytes < 0 || (size_t)bytes < node->valid_size - offset) in exfat_generic_pread()
504 return MIN(size, node->size - offset); in exfat_generic_pread()
507 cluster = exfat_advance_cluster(ef, node, offset / CLUSTER_SIZE(*ef->sb)); in exfat_generic_pread()
514 loffset = offset % CLUSTER_SIZE(*ef->sb); in exfat_generic_pread()
515 remainder = MIN(size, node->size - offset); in exfat_generic_pread()
537 return MIN(size, node->size - offset) - remainder; in exfat_generic_pread()
541 const void* buffer, size_t size, off_t offset) in exfat_generic_pwrite() argument
548 if (offset > node->size) in exfat_generic_pwrite()
550 rc = exfat_truncate(ef, node, offset, true); in exfat_generic_pwrite()
554 if (offset + size > node->size) in exfat_generic_pwrite()
556 rc = exfat_truncate(ef, node, offset + size, false); in exfat_generic_pwrite()
563 cluster = exfat_advance_cluster(ef, node, offset / CLUSTER_SIZE(*ef->sb)); in exfat_generic_pwrite()
570 loffset = offset % CLUSTER_SIZE(*ef->sb); in exfat_generic_pwrite()
589 node->valid_size = MAX(node->valid_size, offset + size - remainder); in exfat_generic_pwrite()
606 int offset; member
743 dirs->offset = -1; in exfat_fs_opendir()
757 int offset = 0; in exfat_fs_readdir() local
770 if (dirs->offset == -1) { in exfat_fs_readdir()
771 dirs->offset++; in exfat_fs_readdir()
779 if (dirs->offset == 0) { in exfat_fs_readdir()
780 dirs->offset++; in exfat_fs_readdir()
795 if (dirs->offset != ++offset) { in exfat_fs_readdir()
809 dirs->offset++; in exfat_fs_readdir()
904 int exfat_fs_read(const char *filename, void *buf, loff_t offset, loff_t len, in exfat_fs_read() argument
918 sz = exfat_generic_pread(&ctxt.ef, node, buf, len, offset); in exfat_fs_read()
971 int exfat_fs_write(const char *filename, void *buf, loff_t offset, in exfat_fs_write() argument
995 if (offset > node->size) { in exfat_fs_write()
1000 sz = exfat_generic_pwrite(&ctxt.ef, node, buf, len, offset); in exfat_fs_write()
1007 err = exfat_truncate(&ctxt.ef, node, offset + sz, false); in exfat_fs_write()