MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2LoadInodeXattr

Function Ext2LoadInodeXattr

Ext4Fsd/ext3/generic.c:606–635  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

604}
605
606BOOLEAN
607Ext2LoadInodeXattr(IN PEXT2_VCB Vcb,
608 IN struct inode *Inode,
609 IN PEXT2_INODE InodeXattr)
610{
611 IO_STATUS_BLOCK IoStatus;
612 LONGLONG Offset;
613
614 if (!Ext2GetInodeLba(Vcb, Inode->i_ino, &Offset)) {
615 DEBUG(DL_ERR, ("Ext2LoadRawInode: error get inode(%xh)'s addr.\n", Inode->i_ino));
616 return FALSE;
617 }
618
619 if (!CcCopyRead(
620 Vcb->Volume,
621 (PLARGE_INTEGER)&Offset,
622 Vcb->InodeSize,
623 PIN_WAIT,
624 (PVOID)InodeXattr,
625 &IoStatus)) {
626 return FALSE;
627 }
628
629 if (!NT_SUCCESS(IoStatus.Status)) {
630 return FALSE;
631 }
632
633 Ext2EncodeInode(InodeXattr, Inode);
634 return TRUE;
635}
636
637BOOLEAN
638Ext2SaveInodeXattr(IN PEXT2_IRP_CONTEXT IrpContext,

Callers 1

ext4_fs_get_xattr_refFunction · 0.85

Calls 2

Ext2GetInodeLbaFunction · 0.85
Ext2EncodeInodeFunction · 0.85

Tested by

no test coverage detected