Lines Matching defs:bch
2 * drivers/bch/bchlib_write.c
30 #include "bch.h"
47 struct bchlib_s *bch = (struct bchlib_s *)handle;
64 sector = offset / bch->sectsize;
65 sectoffset = offset - sector * bch->sectsize;
67 if (sector >= bch->nsectors)
79 ret = bchlib_readsector(bch, sector + bch->sectstart);
87 if (sectoffset + len > bch->sectsize)
89 nbytes = bch->sectsize - sectoffset;
96 ret = LOS_CopyToKernel(&bch->buffer[sectoffset], nbytes, buffer, nbytes);
102 bch->dirty = true;
108 if (sector >= bch->nsectors)
122 if (len >= bch->sectsize)
124 nsectors = len / bch->sectsize;
125 if (sector + nsectors > bch->nsectors)
127 nsectors = bch->nsectors - sector;
132 ret = bchlib_flushsector(bch);
141 ret = los_disk_write(bch->disk->disk_id, (const void *)buffer,
142 sector + bch->sectstart, nsectors);
152 nbytes = nsectors * bch->sectsize;
155 if (sector >= bch->nsectors)
170 ret = bchlib_readsector(bch, sector + bch->sectstart);
178 ret = LOS_CopyToKernel(bch->buffer, len, buffer, len);
184 bch->dirty = true;