Commit 49a136e1 authored by Anton Altaparmakov's avatar Anton Altaparmakov

NTFS: Set i_generation in VFS inode from seq_no in NTFS inode.

parent 2724a14b
...@@ -20,6 +20,10 @@ ToDo: ...@@ -20,6 +20,10 @@ ToDo:
sufficient for synchronisation here. We then just need to make sure sufficient for synchronisation here. We then just need to make sure
ntfs_readpage/writepage/truncate interoperate properly with us. ntfs_readpage/writepage/truncate interoperate properly with us.
2.1.7 - WIP
- Set i_generation in the VFS inode from the seq_no of the NTFS inode.
2.1.6 - Fix minor bug in handling of compressed directories. 2.1.6 - Fix minor bug in handling of compressed directories.
- Fix bug in handling of compressed directories. A compressed - Fix bug in handling of compressed directories. A compressed
......
...@@ -5,7 +5,7 @@ obj-$(CONFIG_NTFS_FS) += ntfs.o ...@@ -5,7 +5,7 @@ obj-$(CONFIG_NTFS_FS) += ntfs.o
ntfs-objs := aops.o attrib.o compress.o debug.o dir.o file.o inode.o mft.o \ ntfs-objs := aops.o attrib.o compress.o debug.o dir.o file.o inode.o mft.o \
mst.o namei.o super.o sysctl.o time.o unistr.o upcase.o mst.o namei.o super.o sysctl.o time.o unistr.o upcase.o
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.6\" EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.7-WIP\"
ifeq ($(CONFIG_NTFS_DEBUG),y) ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG EXTRA_CFLAGS += -DDEBUG
......
...@@ -533,7 +533,7 @@ static int ntfs_read_locked_inode(struct inode *vi) ...@@ -533,7 +533,7 @@ static int ntfs_read_locked_inode(struct inode *vi)
} }
/* Transfer information from mft record into vfs and ntfs inodes. */ /* Transfer information from mft record into vfs and ntfs inodes. */
ni->seq_no = le16_to_cpu(m->sequence_number); vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number);
/* /*
* FIXME: Keep in mind that link_count is two for files which have both * FIXME: Keep in mind that link_count is two for files which have both
...@@ -1109,7 +1109,7 @@ static int ntfs_read_locked_attr_inode(struct inode *base_vi, struct inode *vi) ...@@ -1109,7 +1109,7 @@ static int ntfs_read_locked_attr_inode(struct inode *base_vi, struct inode *vi)
vi->i_mtime = base_vi->i_mtime; vi->i_mtime = base_vi->i_mtime;
vi->i_ctime = base_vi->i_ctime; vi->i_ctime = base_vi->i_ctime;
vi->i_atime = base_vi->i_atime; vi->i_atime = base_vi->i_atime;
ni->seq_no = base_ni->seq_no; vi->i_generation = ni->seq_no = base_ni->seq_no;
/* Set inode type to zero but preserve permissions. */ /* Set inode type to zero but preserve permissions. */
vi->i_mode = base_vi->i_mode & ~S_IFMT; vi->i_mode = base_vi->i_mode & ~S_IFMT;
...@@ -1414,7 +1414,7 @@ void ntfs_read_inode_mount(struct inode *vi) ...@@ -1414,7 +1414,7 @@ void ntfs_read_inode_mount(struct inode *vi)
} }
/* Need this to sanity check attribute list references to $MFT. */ /* Need this to sanity check attribute list references to $MFT. */
ni->seq_no = le16_to_cpu(m->sequence_number); vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number);
/* Provides readpage() and sync_page() for map_mft_record(). */ /* Provides readpage() and sync_page() for map_mft_record(). */
vi->i_mapping->a_ops = &ntfs_mft_aops; vi->i_mapping->a_ops = &ntfs_mft_aops;
......
...@@ -941,7 +941,7 @@ typedef struct { ...@@ -941,7 +941,7 @@ typedef struct {
modified. */ modified. */
/* 18*/ s64 last_mft_change_time; /* Time this mft record was last /* 18*/ s64 last_mft_change_time; /* Time this mft record was last
modified. */ modified. */
/* 20*/ s64 last_access_time; /* Last time this mft record was /* 20*/ s64 last_access_time; /* Time this mft record was last
accessed. */ accessed. */
/* 28*/ s64 allocated_size; /* Byte size of allocated space for the /* 28*/ s64 allocated_size; /* Byte size of allocated space for the
data attribute. NOTE: Is a multiple data attribute. NOTE: Is a multiple
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment