Do not perform the actual write on a read-only volume!
(Logical change 1.66)edge.strict_endians
parent
b7270466fe
commit
9fd4cc17e3
|
@ -958,8 +958,12 @@ retry:
|
|||
Dprintf("%s(): Writing 0x%Lx bytes to vcn 0x%Lx, lcn 0x%Lx, "
|
||||
"ofs 0x%Lx.\n", __FUNCTION__, to_write,
|
||||
rl->vcn, rl->lcn, ofs);
|
||||
written = ntfs_pwrite(f, (rl->lcn << vol->cluster_size_bits) +
|
||||
ofs, to_write, b);
|
||||
if (!NVolReadOnly(vol))
|
||||
written = ntfs_pwrite(f, (rl->lcn <<
|
||||
vol->cluster_size_bits) + ofs,
|
||||
to_write, b);
|
||||
else
|
||||
written = to_write;
|
||||
/* If everything ok, update progress counters and continue. */
|
||||
if (written > 0) {
|
||||
total += written;
|
||||
|
|
|
@ -320,8 +320,11 @@ s64 ntfs_cluster_write(const ntfs_volume *vol, const s64 lcn,
|
|||
errno = ESPIPE;
|
||||
return -1;
|
||||
}
|
||||
bw = ntfs_pwrite(vol->fd, lcn << vol->cluster_size_bits,
|
||||
count << vol->cluster_size_bits, b);
|
||||
if (!NVolReadOnly(vol))
|
||||
bw = ntfs_pwrite(vol->fd, lcn << vol->cluster_size_bits,
|
||||
count << vol->cluster_size_bits, b);
|
||||
else
|
||||
bw = count << vol->cluster_size_bits;
|
||||
if (bw < 0) {
|
||||
Dperror("Error writing cluster(s)");
|
||||
return bw;
|
||||
|
|
|
@ -1072,8 +1072,12 @@ s64 ntfs_rl_pwrite(const ntfs_volume *vol, const runlist_element *rl,
|
|||
to_write = min(count, (rl->length << vol->cluster_size_bits) -
|
||||
ofs);
|
||||
retry:
|
||||
written = ntfs_pwrite(f, (rl->lcn << vol->cluster_size_bits) +
|
||||
ofs, to_write, b);
|
||||
if (!NVolReadOnly(vol))
|
||||
written = ntfs_pwrite(f, (rl->lcn <<
|
||||
vol->cluster_size_bits) + ofs,
|
||||
to_write, b);
|
||||
else
|
||||
written = to_write;
|
||||
/* If everything ok, update progress counters and continue. */
|
||||
if (written > 0) {
|
||||
total += written;
|
||||
|
|
Loading…
Reference in New Issue