Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matt-wu/Ext3Fsd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wu <matt@ext2fsd.com>2016-03-13 16:23:04 +0300
committerMatt Wu <matt@ext2fsd.com>2016-03-13 16:23:04 +0300
commit1fd42c2bde2c1a8e4bac4f1bcf90e9ae92ca4909 (patch)
tree1197b586b32eef1d7cb39540c89e70dfaca9231f /Ext3Fsd/write.c
parentcb7d54c1165f7af04fdafcc61992cd7e7afc3a7e (diff)
Feature: symlink supported
merged and optimized upon ngkaho123's implmentation
Diffstat (limited to 'Ext3Fsd/write.c')
-rwxr-xr-xExt3Fsd/write.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Ext3Fsd/write.c b/Ext3Fsd/write.c
index 721b911..5afaef5 100755
--- a/Ext3Fsd/write.c
+++ b/Ext3Fsd/write.c
@@ -651,7 +651,7 @@ Ext2WriteInode (
IN ULONG Size,
IN BOOLEAN bDirectIo,
OUT PULONG BytesWritten
-)
+ )
{
PEXT2_EXTENT Chain = NULL;
NTSTATUS Status = STATUS_UNSUCCESSFUL;
@@ -668,7 +668,7 @@ Ext2WriteInode (
Mcb,
Offset,
Size,
- IsMcbDirectory(Mcb) ? FALSE : TRUE,
+ S_ISDIR(Mcb->Inode.i_mode) ? FALSE : TRUE,
&Chain
);
@@ -735,6 +735,7 @@ Ext2WriteInode (
return Status;
}
+
NTSTATUS
Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
{
@@ -806,7 +807,7 @@ Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext)
DEBUG(DL_INF, ("Ext2WriteFile: %wZ Offset=%I64xh Length=%xh Paging=%xh Nocache=%xh\n",
&Fcb->Mcb->ShortName, ByteOffset.QuadPart, Length, PagingIo, Nocache));
- if (IsSpecialFile(Fcb)) {
+ if (IsSpecialFile(Fcb) || IsInodeSymLink(Fcb->Inode) ) {
Status = STATUS_INVALID_DEVICE_REQUEST;
__leave;
}