X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/270869139db617e29a35bb9ded41087bb702f9ac..bcc25888b3299758ad36721530cca3b899b7166c:/lunaix-os/kernel/fs/iso9660/inode.c?ds=sidebyside diff --git a/lunaix-os/kernel/fs/iso9660/inode.c b/lunaix-os/kernel/fs/iso9660/inode.c index ab66ca4..ab6a396 100644 --- a/lunaix-os/kernel/fs/iso9660/inode.c +++ b/lunaix-os/kernel/fs/iso9660/inode.c @@ -1,5 +1,5 @@ #include -#include +#include #include "iso9660.h" #include #include @@ -87,10 +87,17 @@ iso9660_fill_inode(struct v_inode* inode, struct iso_drecache* dir, int ino) inode->ctime = iso9660_dt2unix(&xattr->ctime); inode->mtime = iso9660_dt2unix(&xattr->mtime); + fsapi_inode_setaccess(inode, xattr->perm); + fsapi_inode_setowner(inode, xattr->owner.le, xattr->group.le); + inode->lb_addr += dir->xattr_len * dir->fu_size; vfree(xattr); } + else { + fsapi_inode_setaccess(inode, FSACL_u(R, W, _) | FSACL_g(R, W, _)); + fsapi_inode_setowner(inode, 0, 0); + } inode->ctime = dir->ctime ? dir->ctime : inode->ctime; inode->mtime = dir->mtime ? dir->mtime : inode->mtime;