[PATCH] Reserve entries to tsk_dirent struct
Already implemented entries. tsk_inode tsk_type tsk_size tsk_name tsk_flags Easy ones to add. tsk_atime_sec tsk_atime_nsec tsk_mtime_sec tsk_mtime_nsec tsk_ctime_sec tsk_ctime_nsec tsk_blksize tsk_blocks Further ideas. tsk_nlink tsk_link_name Signed-off-by: Matteo Cafasso <noxdafox@gmail.com> --- daemon/tsk.c | 4 +++- generator/structs.ml | 6 ++++++ tests/tsk/test-filesystem-walk.sh | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/daemon/tsk.c b/daemon/tsk.c index 65159ad..446213e 100644 --- a/daemon/tsk.c +++ b/daemon/tsk.c @@ -128,7 +128,9 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data) dirent.tsk_name = fname; dirent.tsk_flags = file_flags (fsfile); dirent.tsk_spare1 = dirent.tsk_spare2 = dirent.tsk_spare3 = - dirent.tsk_spare4 = dirent.tsk_spare5 = 0; + dirent.tsk_spare4 = dirent.tsk_spare5 = dirent.tsk_spare6 = + dirent.tsk_spare7 = dirent.tsk_spare8 = dirent.tsk_spare9 = + dirent.tsk_spare10 = dirent.tsk_spare11 = 0; ret = send_dirent_info (&dirent); ret = (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR; diff --git a/generator/structs.ml b/generator/structs.ml index acc0661..eb8931f 100644 --- a/generator/structs.ml +++ b/generator/structs.ml @@ -459,6 +459,12 @@ let structs = [ "tsk_spare3", FInt64; "tsk_spare4", FInt64; "tsk_spare5", FInt64; + "tsk_spare6", FInt64; + "tsk_spare7", FInt64; + "tsk_spare8", FInt64; + "tsk_spare9", FInt64; + "tsk_spare10", FInt64; + "tsk_spare11", FInt64; ]; s_camel_name = "TSKDirent" }; diff --git a/tests/tsk/test-filesystem-walk.sh b/tests/tsk/test-filesystem-walk.sh index c816267..6ee3f71 100755 --- a/tests/tsk/test-filesystem-walk.sh +++ b/tests/tsk/test-filesystem-walk.sh @@ -55,7 +55,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: \$MFT not found in files list." echo "File list:" @@ -73,7 +79,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: /test.txt not found in files list." echo "File list:" -- 2.8.1
On Tue, Jun 28, 2016 at 10:49:16PM +0300, Matteo Cafasso wrote:
Already implemented entries.
tsk_inode tsk_type tsk_size tsk_name tsk_flags
Easy ones to add.
tsk_atime_sec tsk_atime_nsec tsk_mtime_sec tsk_mtime_nsec tsk_ctime_sec tsk_ctime_nsec tsk_blksize tsk_blocks
Further ideas.
tsk_nlink tsk_link_name
Signed-off-by: Matteo Cafasso <noxdafox@gmail.com> --- daemon/tsk.c | 4 +++- generator/structs.ml | 6 ++++++ tests/tsk/test-filesystem-walk.sh | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/daemon/tsk.c b/daemon/tsk.c index 65159ad..446213e 100644 --- a/daemon/tsk.c +++ b/daemon/tsk.c @@ -128,7 +128,9 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data) dirent.tsk_name = fname; dirent.tsk_flags = file_flags (fsfile); dirent.tsk_spare1 = dirent.tsk_spare2 = dirent.tsk_spare3 = - dirent.tsk_spare4 = dirent.tsk_spare5 = 0; + dirent.tsk_spare4 = dirent.tsk_spare5 = dirent.tsk_spare6 = + dirent.tsk_spare7 = dirent.tsk_spare8 = dirent.tsk_spare9 = + dirent.tsk_spare10 = dirent.tsk_spare11 = 0;
ret = send_dirent_info (&dirent); ret = (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR; diff --git a/generator/structs.ml b/generator/structs.ml index acc0661..eb8931f 100644 --- a/generator/structs.ml +++ b/generator/structs.ml @@ -459,6 +459,12 @@ let structs = [ "tsk_spare3", FInt64; "tsk_spare4", FInt64; "tsk_spare5", FInt64; + "tsk_spare6", FInt64; + "tsk_spare7", FInt64; + "tsk_spare8", FInt64; + "tsk_spare9", FInt64; + "tsk_spare10", FInt64; + "tsk_spare11", FInt64; ]; s_camel_name = "TSKDirent" };
diff --git a/tests/tsk/test-filesystem-walk.sh b/tests/tsk/test-filesystem-walk.sh index c816267..6ee3f71 100755 --- a/tests/tsk/test-filesystem-walk.sh +++ b/tests/tsk/test-filesystem-walk.sh @@ -55,7 +55,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: \$MFT not found in files list." echo "File list:" @@ -73,7 +79,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: /test.txt not found in files list." echo "File list:"
First a note: This patch is only valid because we have not yet released this API in a stable release of libguestfs. After an API becomes stable we never change it. I'm a bit confused - what is the aim of this patch? Is it to reserve fields we might implement in future, and if so, why don't we just implement them now? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top
On Tue, Jun 28, 2016 at 10:49:16PM +0300, Matteo Cafasso wrote:
Already implemented entries.
tsk_inode tsk_type tsk_size tsk_name tsk_flags
Easy ones to add.
tsk_atime_sec tsk_atime_nsec tsk_mtime_sec tsk_mtime_nsec tsk_ctime_sec tsk_ctime_nsec tsk_blksize tsk_blocks
Further ideas.
tsk_nlink tsk_link_name
Signed-off-by: Matteo Cafasso <noxdafox@gmail.com> --- daemon/tsk.c | 4 +++- generator/structs.ml | 6 ++++++ tests/tsk/test-filesystem-walk.sh | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/daemon/tsk.c b/daemon/tsk.c index 65159ad..446213e 100644 --- a/daemon/tsk.c +++ b/daemon/tsk.c @@ -128,7 +128,9 @@ fswalk_callback (TSK_FS_FILE *fsfile, const char *path, void *data) dirent.tsk_name = fname; dirent.tsk_flags = file_flags (fsfile); dirent.tsk_spare1 = dirent.tsk_spare2 = dirent.tsk_spare3 = - dirent.tsk_spare4 = dirent.tsk_spare5 = 0; + dirent.tsk_spare4 = dirent.tsk_spare5 = dirent.tsk_spare6 = + dirent.tsk_spare7 = dirent.tsk_spare8 = dirent.tsk_spare9 = + dirent.tsk_spare10 = dirent.tsk_spare11 = 0;
ret = send_dirent_info (&dirent); ret = (ret == 0) ? TSK_WALK_CONT : TSK_WALK_ERROR; diff --git a/generator/structs.ml b/generator/structs.ml index acc0661..eb8931f 100644 --- a/generator/structs.ml +++ b/generator/structs.ml @@ -459,6 +459,12 @@ let structs = [ "tsk_spare3", FInt64; "tsk_spare4", FInt64; "tsk_spare5", FInt64; + "tsk_spare6", FInt64; + "tsk_spare7", FInt64; + "tsk_spare8", FInt64; + "tsk_spare9", FInt64; + "tsk_spare10", FInt64; + "tsk_spare11", FInt64; ]; s_camel_name = "TSKDirent" };
diff --git a/tests/tsk/test-filesystem-walk.sh b/tests/tsk/test-filesystem-walk.sh index c816267..6ee3f71 100755 --- a/tests/tsk/test-filesystem-walk.sh +++ b/tests/tsk/test-filesystem-walk.sh @@ -55,7 +55,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: \$MFT not found in files list." echo "File list:" @@ -73,7 +79,13 @@ tsk_spare1: 0 tsk_spare2: 0 tsk_spare3: 0 tsk_spare4: 0 -tsk_spare5: 0 }' +tsk_spare5: 0 +tsk_spare6: 0 +tsk_spare7: 0 +tsk_spare8: 0 +tsk_spare9: 0 +tsk_spare10: 0 +tsk_spare11: 0 }' if [ $? != 0 ]; then echo "$0: /test.txt not found in files list." echo "File list:"
First a note: This patch is only valid because we have not yet released this API in a stable release of libguestfs. After an API becomes stable we never change it. This is why I am reserving them now.
I'm a bit confused - what is the aim of this patch? Is it to reserve fields we might implement in future, and if so, why don't we just implement them now? Just to make sure I am now slowing down any stable release. The patch to add new fields is still a WIP. If the next stable release due date is still far then you can NACK this
On 28/06/16 23:01, Richard W.M. Jones wrote: patch.
Rich.
On Tue, Jun 28, 2016 at 11:59:27PM +0300, noxdafox wrote:
First a note: This patch is only valid because we have not yet released this API in a stable release of libguestfs. After an API becomes stable we never change it. This is why I am reserving them now.
I'm a bit confused - what is the aim of this patch? Is it to reserve fields we might implement in future, and if so, why don't we just implement them now? Just to make sure I am now slowing down any stable release. The patch to add new fields is still a WIP. If the next stable release due date is still far then you can NACK this patch.
No that's all fine - just wanted to make sure that our stable API wouldn't be affected. I've pushed it now. Thanks, Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
participants (3)
-
Matteo Cafasso -
noxdafox -
Richard W.M. Jones