Changes by: flatcap
Update of /cvsroot/linux-ntfs/dynamic-disk
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14084
Modified Files:
COPYING ChangeLog Makefile README
Removed Files:
Makefile.driver
Log Message:
removed kernel compatibility layer, turning ldminfo into a _real_
userspace tool. Ran ldminfo under valgrind to find and fix memory
problems. Turned on all the compiler warnings and fixed them.
Index: COPYING
===================================================================
RCS file: /cvsroot/linux-ntfs/dynamic-disk/COPYING,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- COPYING 10 Aug 2005 12:14:47 -0000 1.6
+++ COPYING 11 Sep 2005 23:53:23 -0000 1.7
@@ -1,13 +1,3 @@
-
- NOTE: The GPL below is copyrighted by the Free Software Foundation,
- but the instances of code that it refers to (the Linux-NTFS project,
- including the Linux-LDM tool and kernel driver) are copyrighted by
- me and others who actually wrote them.
-
- Richard Russon <ld...@fl...>
-
---------------------------------------------------------------------
-
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Index: ChangeLog
===================================================================
RCS file: /cvsroot/linux-ntfs/dynamic-disk/ChangeLog,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -p -r1.21 -r1.22
--- ChangeLog 10 Aug 2005 12:14:47 -0000 1.21
+++ ChangeLog 11 Sep 2005 23:53:23 -0000 1.22
@@ -1,3 +1,9 @@
+2005-09-11 Richard Russon <ld...@fl...>
+
+ * Ripped out all the kernel compatibility layer.
+ ldminfo is now, really, a userspace tool.
+ * Ran ldminfo under Valgrind and fixed leaks and bugs.
+
2002-08-09 Richard Russon <ld...@fl...>
* Version 0.0.8 released
Index: Makefile
===================================================================
RCS file: /cvsroot/linux-ntfs/dynamic-disk/Makefile,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -p -r1.14 -r1.15
--- Makefile 10 Aug 2005 12:14:47 -0000 1.14
+++ Makefile 11 Sep 2005 23:53:23 -0000 1.15
@@ -1,78 +1,26 @@
-# Copyright (C) 2001 Richard Russon
+# Copyright (C) 2001-2005 Richard Russon
-KERNEL = /usr/src/linux
-CC = gcc
-LD = ld
-LN = ln -sf
-RM = rm -f
-
-# General compile flags
-
-CFLAGS += -Wall
-CFLAGS += -g
-CFLAGS += -O2
-CFLAGS += -D_FILE_OFFSET_BITS=64
-
-# LDM compile flags
-
-CFLAGS += -DCONFIG_LDM_PARTITION
-CFLAGS += -DCONFIG_LDM_DEBUG
-CFLAGS += -DCONFIG_LDM_EXPORT_SYMBOLS
-
-# Kernel compile flags
-
-CFLAGS += -D__KERNEL__
-CFLAGS += -Wstrict-prototypes
-CFLAGS += -fomit-frame-pointer
-CFLAGS += -fno-strict-aliasing
-CFLAGS += -pipe
-CFLAGS += -mpreferred-stack-boundary=2
-CFLAGS += -march=$(shell uname -m)
-
-# ld flags
-
-LFLAGS += -m elf_i386 -r
-
-#-------------------------------------------------------------------------------
-
-export CC CFLAGS KERNEL LD LFLAGS LN RM
-
-LINKS = docs src
-DRIVER = Makefile.driver
-TEST = test
+INFO = ldminfo
UTIL = ldmutil
all:
- make -f $(DRIVER)
- make -C $(TEST)
+ make -C $(INFO)
make -C $(UTIL)
clean:
- make -f $(DRIVER) clean
- make -C $(TEST) clean
- make -C $(UTIL) clean
+ make -C $(INFO) clean
+ make -C $(UTIL) clean
distclean:
- make -f $(DRIVER) distclean
- make -C $(TEST) distclean
- make -C $(UTIL) distclean
- $(RM) $(LINKS)
+ make -C $(INFO) distclean
+ make -C $(UTIL) distclean
find . -name tags -exec $(RM) {} \;
find . -name \*.data -o -name \*.part -exec $(RM) {} \;
-docs:
- $(LN) linux/Documentation docs
-
-src:
- $(LN) linux/fs/partitions src
-
-links: $(LINKS)
-
tags: force
- ctags -R *
- (cd linux/fs/partitions; ctags -R *)
- (cd $(TEST); ctags -R * ../linux/fs/partitions)
- (cd $(UTIL); ctags -R * ../linux/fs/partitions)
+ ctags -R .
+ make -C $(INFO) tags
+ (cd $(UTIL); ctags -R .)
force:
Index: README
===================================================================
RCS file: /cvsroot/linux-ntfs/dynamic-disk/README,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- README 10 Aug 2005 12:14:47 -0000 1.12
+++ README 11 Sep 2005 23:53:24 -0000 1.13
@@ -1,46 +1,102 @@
-Logical Disk Manager (Dynamic Disk) Tool and Driver.
+ LDM - Logical Disk Manager (Dynamic Disks)
+ ------------------------------------------
-There are two packages included here. A userland tool to dump the contents of
-a Window 2000 LDM Disk. Also there's a Linux Filesystem driver. You need to
-know what you're doing to use this.
+Overview
+--------
-The packages are part of the Linux-NTFS Project which is hosted on SourceForge:
+Windows 2000 and XP use a new partitioning scheme. It is a complete
+replacement for the MSDOS style partitions. It stores its information in a
+1MiB journalled database at the end of the physical disk. The size of
+partitions is limited only by disk space. The maximum number of partitions is
+nearly 2000.
- http://linux-ntfs.sourceforge.net
+Any partitions created under the LDM are called "Dynamic Disks". There are no
+longer any primary or extended partitions. Normal MSDOS style partitions are
+now known as Basic Disks.
-I've included a prebuilt copy of the tool in the .tar If you want to build it
-yourself you need the kernel header files, then "make" should do the trick.
-If it doesn't build without errors, then you'll need to know your way around
-the kernel to fix things.
+If you wish to use Spanned, Striped, Mirrored or RAID 5 Volumes, you must use
+Dynamic Disks. The journalling allows Windows to make changes to these
+partitions and filesystems without the need to reboot.
-LDMInfo can be used in three ways:
+Once the LDM driver has divided up the disk, you can use the MD driver to
+assemble any multi-partition volumes, e.g. Stripes, RAID5.
- ldminfo /dev/hdb Standard partition list
+To prevent legacy applications from repartitioning the disk, the LDM creates a
+dummy MSDOS partition containing one disk-sized partition.
- ldminfo --dump /dev/hdb Detailed dump of LDM Database
- ldminfo --copy /dev/hdb Write the LDM Database to a file
+Example
+-------
-In addition, you can add the --debug flag. This will show you what's
-going on inside the code. Not at all interesting, but vital to help
-us debug the application.
+Below we have a 50MiB disk, divided into seven partitions.
+N.B. The missing 1MiB at the end of the disk is where the LDM database is
+ stored.
-The standard partition list looks something like this:
+ Device | Offset Bytes Sectors MiB | Size Bytes Sectors MiB
+ -------+----------------------------+---------------------------
+ hda | 0 0 0 | 52428800 102400 50
+ hda1 | 51380224 100352 49 | 1048576 2048 1
+ hda2 | 16384 32 0 | 6979584 13632 6
+ hda3 | 6995968 13664 6 | 10485760 20480 10
+ hda4 | 17481728 34144 16 | 4194304 8192 4
+ hda5 | 21676032 42336 20 | 5242880 10240 5
+ hda6 | 26918912 52576 25 | 10485760 20480 10
+ hda7 | 37404672 73056 35 | 13959168 27264 13
- Device | Offset Bytes Sectors MiB | Size Bytes Sectors MiB
- -------+--------------------------------+-------------------------------
- hdb | 0 0 0 | 21159936 41328 20
- hdb1 | 32256 63 0 | 5242880 10240 5
- hdb2 | 5275136 10303 5 | 5242880 10240 5
- hdb3 | 10518016 20543 10 | 3145728 6144 3
- hdb4 | 13663744 26687 13 | 6291456 12288 6
+The LDM Database may not store the partitions in the order that they appear on
+disk, but the driver will sort them.
+When Linux boots, you will see something like:
-Any bugs / problems / comments, please email me.
+ hda: 102400 sectors w/32KiB Cache, CHS=50/64/32
+ hda: [LDM] hda1 hda2 hda3 hda4 hda5 hda6 hda7
+
+
+Compiling LDM Support
+---------------------
+
+To enable LDM, choose the following two options:
+
+ "Advanced partition selection" CONFIG_PARTITION_ADVANCED
+ "Windows Logical Disk Manager (Dynamic Disk) support" CONFIG_LDM_PARTITION
+
+If you believe the driver isn't working as it should, you can enable the extra
+debugging code. This will produce a LOT of output. The option is:
+
+ "Windows LDM extra logging" CONFIG_LDM_DEBUG
+
+N.B. The partition code cannot be compiled as a module.
+
+As with all the partition code, if the driver doesn't see signs of its type of
+partition, it will pass control to another driver, so there is no harm in
+enabling it.
+
+If you have Dynamic Disks but don't enable the driver, then all you will see
+is a dummy MSDOS partition filling the whole disk. You won't be able to mount
+any of the volumes on the disk.
+
+
+Booting
+-------
+
+If you enable LDM support, then lilo is capable of booting from any of the
+discovered partitions. However, grub does not understand the LDM partitioning
+and cannot boot from a Dynamic Disk.
+
+
+More Documentation
+------------------
+
+There is an Overview of the LDM online together with complete Technical
+Documentation. It can also be downloaded in html.
+
+ http://linux-ntfs.sourceforge.net/ldm/index.html
+ http://linux-ntfs.sourceforge.net/downloads.html
+
+If you have any LDM questions that aren't answered on the website, email me.
Cheers,
- FlatCap (Richard).
+ FlatCap - Richard Russon
ld...@fl...
- http://linux-ntfs.sourceforge.net
--- Makefile.driver DELETED ---
|