X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6f6da1abb22dff69dbb710bd2fd9d95f083f2b43..bcc25888b3299758ad36721530cca3b899b7166c:/lunaix-os/kernel/fs/iso9660/inode.c diff --git a/lunaix-os/kernel/fs/iso9660/inode.c b/lunaix-os/kernel/fs/iso9660/inode.c index ac151b3..ab6a396 100644 --- a/lunaix-os/kernel/fs/iso9660/inode.c +++ b/lunaix-os/kernel/fs/iso9660/inode.c @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include "iso9660.h" #include #include #include @@ -14,9 +14,9 @@ static struct v_inode_ops iso_inode_ops = { static struct v_file_ops iso_file_ops = { .close = iso9660_close, .read = iso9660_read, - .read_page = iso9660_read, + .read_page = iso9660_read_page, .write = iso9660_write, - .write_page = iso9660_write, + .write_page = iso9660_write_page, .seek = iso9660_seek, .readdir = iso9660_readdir }; @@ -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;