record.c (fa3cacf544636b2dc48cfb2f277a2071f14d66a2) record.c (195c52bdd5d5ecfdabf5a7c6159efe299e534f84)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 *
4 * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved.
5 *
6 */
7
8#include <linux/blkdev.h>

--- 62 unchanged lines hidden (view full) ---

71 } else if (max_id < t16)
72 max_id = t16;
73 }
74}
75
76int mi_get(struct ntfs_sb_info *sbi, CLST rno, struct mft_inode **mi)
77{
78 int err;
1// SPDX-License-Identifier: GPL-2.0
2/*
3 *
4 * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved.
5 *
6 */
7
8#include <linux/blkdev.h>

--- 62 unchanged lines hidden (view full) ---

71 } else if (max_id < t16)
72 max_id = t16;
73 }
74}
75
76int mi_get(struct ntfs_sb_info *sbi, CLST rno, struct mft_inode **mi)
77{
78 int err;
79 struct mft_inode *m = ntfs_zalloc(sizeof(struct mft_inode));
79 struct mft_inode *m = kzalloc(sizeof(struct mft_inode), GFP_NOFS);
80
81 if (!m)
82 return -ENOMEM;
83
84 err = mi_init(m, sbi, rno);
85 if (err) {
80
81 if (!m)
82 return -ENOMEM;
83
84 err = mi_init(m, sbi, rno);
85 if (err) {
86 ntfs_free(m);
86 kfree(m);
87 return err;
88 }
89
90 err = mi_read(m, false);
91 if (err) {
92 mi_put(m);
93 return err;
94 }
95
96 *mi = m;
97 return 0;
98}
99
100void mi_put(struct mft_inode *mi)
101{
102 mi_clear(mi);
87 return err;
88 }
89
90 err = mi_read(m, false);
91 if (err) {
92 mi_put(m);
93 return err;
94 }
95
96 *mi = m;
97 return 0;
98}
99
100void mi_put(struct mft_inode *mi)
101{
102 mi_clear(mi);
103 ntfs_free(mi);
103 kfree(mi);
104}
105
106int mi_init(struct mft_inode *mi, struct ntfs_sb_info *sbi, CLST rno)
107{
108 mi->sbi = sbi;
109 mi->rno = rno;
104}
105
106int mi_init(struct mft_inode *mi, struct ntfs_sb_info *sbi, CLST rno)
107{
108 mi->sbi = sbi;
109 mi->rno = rno;
110 mi->mrec = ntfs_malloc(sbi->record_size);
110 mi->mrec = kmalloc(sbi->record_size, GFP_NOFS);
111 if (!mi->mrec)
112 return -ENOMEM;
113
114 return 0;
115}
116
117/*
118 * mi_read

--- 491 unchanged lines hidden ---
111 if (!mi->mrec)
112 return -ENOMEM;
113
114 return 0;
115}
116
117/*
118 * mi_read

--- 491 unchanged lines hidden ---