Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
bc3b55c7
Commit
bc3b55c7
authored
Oct 10, 2004
by
Anton Altaparmakov
Browse files
Options
Browse Files
Download
Plain Diff
Merge
ssh://linux-ntfs@bkbits.net/ntfs-2.6-devel
into cantab.net:/home/src/ntfs-2.6-devel
parents
8846ce52
bcd357a2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
6 deletions
+19
-6
fs/ntfs/ChangeLog
fs/ntfs/ChangeLog
+5
-0
fs/ntfs/dir.c
fs/ntfs/dir.c
+3
-3
fs/ntfs/inode.c
fs/ntfs/inode.c
+11
-3
No files found.
fs/ntfs/ChangeLog
View file @
bc3b55c7
...
@@ -65,6 +65,11 @@ ToDo/Notes:
...
@@ -65,6 +65,11 @@ ToDo/Notes:
page itself.
page itself.
- Update fs/ntfs/mft.c::write_mft_record_nolock() and sync_mft_mirror()
- Update fs/ntfs/mft.c::write_mft_record_nolock() and sync_mft_mirror()
to cope with the fact that there now are dirty buffers in mft pages.
to cope with the fact that there now are dirty buffers in mft pages.
- Update fs/ntfs/inode.c::ntfs_write_inode() to also use the helper
mark_ntfs_record_dirty() and thus to set the buffers belonging to the
mft record dirty as well as the page itself.
- Fix compiler warnings on x86-64 in fs/ntfs/dir.c. (Randy Dunlap,
slightly modified by me)
2.1.20 - Fix two stupid bugs introduced in 2.1.18 release.
2.1.20 - Fix two stupid bugs introduced in 2.1.18 release.
...
...
fs/ntfs/dir.c
View file @
bc3b55c7
...
@@ -1278,7 +1278,7 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
...
@@ -1278,7 +1278,7 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
ntfs_debug
(
"Reading bitmap with page index 0x%llx, bit ofs 0x%llx"
,
ntfs_debug
(
"Reading bitmap with page index 0x%llx, bit ofs 0x%llx"
,
(
unsigned
long
long
)
bmp_pos
>>
(
3
+
PAGE_CACHE_SHIFT
),
(
unsigned
long
long
)
bmp_pos
>>
(
3
+
PAGE_CACHE_SHIFT
),
(
unsigned
long
long
)
bmp_pos
&
(
unsigned
long
long
)
bmp_pos
&
((
PAGE_CACHE_SIZE
*
8
)
-
1
));
(
unsigned
long
long
)(
(
PAGE_CACHE_SIZE
*
8
)
-
1
));
bmp_page
=
ntfs_map_page
(
bmp_mapping
,
bmp_page
=
ntfs_map_page
(
bmp_mapping
,
bmp_pos
>>
(
3
+
PAGE_CACHE_SHIFT
));
bmp_pos
>>
(
3
+
PAGE_CACHE_SHIFT
));
if
(
IS_ERR
(
bmp_page
))
{
if
(
IS_ERR
(
bmp_page
))
{
...
@@ -1392,8 +1392,8 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
...
@@ -1392,8 +1392,8 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
*/
*/
for
(;;
ie
=
(
INDEX_ENTRY
*
)((
u8
*
)
ie
+
le16_to_cpu
(
ie
->
length
)))
{
for
(;;
ie
=
(
INDEX_ENTRY
*
)((
u8
*
)
ie
+
le16_to_cpu
(
ie
->
length
)))
{
ntfs_debug
(
"In index allocation, offset 0x%llx."
,
ntfs_debug
(
"In index allocation, offset 0x%llx."
,
(
unsigned
long
long
)
ia_start
+
((
u8
*
)
ie
-
(
unsigned
long
long
)
ia_start
+
(
u8
*
)
ia
));
(
u
nsigned
long
long
)((
u8
*
)
ie
-
(
u
8
*
)
ia
));
/* Bounds checks. */
/* Bounds checks. */
if
(
unlikely
((
u8
*
)
ie
<
(
u8
*
)
ia
||
(
u8
*
)
ie
+
if
(
unlikely
((
u8
*
)
ie
<
(
u8
*
)
ia
||
(
u8
*
)
ie
+
sizeof
(
INDEX_ENTRY_HEADER
)
>
index_end
||
sizeof
(
INDEX_ENTRY_HEADER
)
>
index_end
||
...
...
fs/ntfs/inode.c
View file @
bc3b55c7
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
#include <linux/quotaops.h>
#include <linux/quotaops.h>
#include <linux/mount.h>
#include <linux/mount.h>
#include "
ntf
s.h"
#include "
aop
s.h"
#include "dir.h"
#include "dir.h"
#include "debug.h"
#include "debug.h"
#include "inode.h"
#include "inode.h"
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
#include "malloc.h"
#include "malloc.h"
#include "mft.h"
#include "mft.h"
#include "time.h"
#include "time.h"
#include "ntfs.h"
/**
/**
* ntfs_test_inode - compare two (possibly fake) inodes for equality
* ntfs_test_inode - compare two (possibly fake) inodes for equality
...
@@ -2271,7 +2272,7 @@ int ntfs_show_options(struct seq_file *sf, struct vfsmount *mnt)
...
@@ -2271,7 +2272,7 @@ int ntfs_show_options(struct seq_file *sf, struct vfsmount *mnt)
* ntfs_truncate - called when the i_size of an ntfs inode is changed
* ntfs_truncate - called when the i_size of an ntfs inode is changed
* @vi: inode for which the i_size was changed
* @vi: inode for which the i_size was changed
*
*
* We do
n'
t support i_size changes yet.
* We do
no
t support i_size changes yet.
*
*
* The kernel guarantees that @vi is a regular file (S_ISREG() is true) and
* The kernel guarantees that @vi is a regular file (S_ISREG() is true) and
* that the change is allowed.
* that the change is allowed.
...
@@ -2505,9 +2506,16 @@ int ntfs_write_inode(struct inode *vi, int sync)
...
@@ -2505,9 +2506,16 @@ int ntfs_write_inode(struct inode *vi, int sync)
* dirty, since we are going to write this mft record below in any case
* dirty, since we are going to write this mft record below in any case
* and the base mft record may actually not have been modified so it
* and the base mft record may actually not have been modified so it
* might not need to be written out.
* might not need to be written out.
* NOTE: It is not a problem when the inode for $MFT itself is being
* written out as mark_ntfs_record_dirty() will only set I_DIRTY_PAGES
* on the $MFT inode and hence ntfs_write_inode() will not be
* re-invoked because of it which in turn is ok since the dirtied mft
* record will be cleaned and written out to disk below, i.e. before
* this function returns.
*/
*/
if
(
modified
&&
!
NInoTestSetDirty
(
ctx
->
ntfs_ino
))
if
(
modified
&&
!
NInoTestSetDirty
(
ctx
->
ntfs_ino
))
__set_page_dirty_nobuffers
(
ctx
->
ntfs_ino
->
page
);
mark_ntfs_record_dirty
(
ctx
->
ntfs_ino
,
ctx
->
ntfs_ino
->
page
,
ctx
->
ntfs_ino
->
page_ofs
);
ntfs_attr_put_search_ctx
(
ctx
);
ntfs_attr_put_search_ctx
(
ctx
);
/* Now the access times are updated, write the base mft record. */
/* Now the access times are updated, write the base mft record. */
if
(
NInoDirty
(
ni
))
if
(
NInoDirty
(
ni
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment