Lines Matching refs:ni

223 	ntfs_inode *ni;
230 ni = ntfs_inode_open(vol, (MFT_REF)FILE_root);
231 if (ni) {
249 inum = ntfs_fix_file_name(ni, &path[start], len);
250 ntfs_inode_close(ni);
251 ni = (ntfs_inode*)NULL;
254 ni = ntfs_inode_open(vol, inum);
259 } while (ni
260 && (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY)
261 && !(ni->flags & FILE_ATTR_REPARSE_POINT)
263 if (ni
264 && ((ni->mrec->flags & MFT_RECORD_IS_DIRECTORY ? isdir : !isdir)
265 || (ni->flags & FILE_ATTR_REPARSE_POINT)))
272 if (ni)
273 ntfs_inode_close(ni);
290 static char *search_relative(ntfs_inode *ni, ntfschar *path, int count)
305 curni = ntfs_dir_parent_inode(ni);
331 if (curni != ni)
346 || ((curni != ni)
351 curni = ntfs_inode_open(ni->vol, MREF(inum));
366 && (ni->mrec->flags ^ curni->mrec->flags)
400 ntfs_inode *ni;
412 ni = ntfs_pathname_to_inode(vol, NULL, defines);
413 if (ni && !ntfs_inode_close(ni))
434 int ntfs_reparse_check_wsl(ntfs_inode *ni, const REPARSE_POINT *reparse)
445 && (ni->flags & FILE_ATTRIBUTE_RECALL_ON_OPEN))
468 static BOOL valid_reparse_data(ntfs_inode *ni,
478 ok = ni && reparse_attr
498 if (!(ni->mrec->flags & MFT_RECORD_IS_DIRECTORY)
532 || !(ni->flags & FILE_ATTRIBUTE_RECALL_ON_OPEN))
767 static char *ntfs_get_rellink(ntfs_inode *ni, ntfschar *junction, int count)
771 target = search_relative(ni,junction,count);
785 char *ntfs_make_symlink(ntfs_inode *ni, const char *mnt_point)
803 isdir = (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY)
805 vol = ni->vol;
806 reparse_attr = (REPARSE_POINT*)ntfs_attr_readall(ni,
809 && valid_reparse_data(ni, reparse_attr, attr_size)) {
870 target = ntfs_get_rellink(ni,
910 BOOL ntfs_possible_symlink(ntfs_inode *ni)
917 reparse_attr = (REPARSE_POINT*)ntfs_attr_readall(ni,
940 static int set_reparse_index(ntfs_inode *ni, ntfs_index_context *xr,
948 seqn = ni->mrec->sequence_number;
949 file_id_cpu = MK_MREF(ni->mft_no,le16_to_cpu(seqn));
994 seqn = na->ni->mrec->sequence_number;
995 file_id_cpu = MK_MREF(na->ni->mft_no,le16_to_cpu(seqn));
1023 ntfs_inode *ni;
1029 ni = (ntfs_inode*)NULL;
1033 ni = ntfs_inode_open(vol, inum);
1036 if (ni) {
1037 xr = ntfs_index_ctx_get(ni, reparse_index_name, 2);
1039 ntfs_inode_close(ni);
1060 static int update_reparse_data(ntfs_inode *ni, ntfs_index_context *xr,
1070 na = ntfs_attr_open(ni, AT_REPARSE_POINT, AT_UNNAMED, 0);
1091 && set_reparse_index(ni,xr,
1105 NInoSetDirty(ni);
1119 int ntfs_delete_reparse_index(ntfs_inode *ni)
1128 na = ntfs_attr_open(ni, AT_REPARSE_POINT, AT_UNNAMED, 0);
1134 xr = open_reparse_index(ni->vol);
1138 xrni = xr->ni;
1157 int ntfs_get_ntfs_reparse_data(ntfs_inode *ni, char *value, size_t size)
1163 if (ni) {
1164 if (ni->flags & FILE_ATTR_REPARSE_POINT) {
1165 reparse_attr = (REPARSE_POINT*)ntfs_attr_readall(ni,
1191 int ntfs_set_ntfs_reparse_data(ntfs_inode *ni,
1205 if (ni && valid_reparse_data(ni, (const REPARSE_POINT*)value, size)) {
1206 xr = open_reparse_index(ni->vol);
1208 if (!ntfs_attr_exist(ni,AT_REPARSE_POINT,
1216 if (ni->vol->major_ver >= 3) {
1217 res = ntfs_attr_add(ni,
1222 ni->flags |=
1224 NInoFileNameSetDirty(ni);
1226 NInoSetDirty(ni);
1243 res = update_reparse_data(ni,xr,value,size);
1245 xrni = xr->ni;
1266 int ntfs_remove_ntfs_reparse_data(ntfs_inode *ni)
1276 if (ni) {
1280 na = ntfs_attr_open(ni, AT_REPARSE_POINT,
1284 xr = open_reparse_index(ni->vol);
1293 ni->flags &=
1295 NInoFileNameSetDirty(ni);
1304 set_reparse_index(ni, xr,
1311 xrni = xr->ni;
1326 NInoSetDirty(ni);
1338 int ntfs_reparse_set_wsl_symlink(ntfs_inode *ni,
1363 res = ntfs_set_ntfs_reparse_data(ni,
1377 int ntfs_reparse_set_wsl_not_symlink(ntfs_inode *ni, mode_t mode)
1412 res = ntfs_set_ntfs_reparse_data(ni,
1429 REPARSE_POINT *ntfs_get_reparse_point(ntfs_inode *ni)
1435 if (ni) {
1436 reparse_attr = (REPARSE_POINT*)ntfs_attr_readall(ni,
1439 && !valid_reparse_data(ni, reparse_attr, attr_size)) {