commit 2e20319843ea85d77c51a9ce9a9b278662426d98
Author: Michael Casadevall <mcasadevall@ubuntu.com>
Date:   Tue Jun 7 19:19:30 2011 +0200

    Correcting miscalculation of sector number in some cases.
    
    mkdosfs will incorrectly calculate the number of sectors of a
    given FAT partition if the number sectors are odd due to
    count_blocks incorrectly handling the remainder of a division
    operation. This miscalculation causes the OMAP4 bootloader to
    fail to boot.
    
    This bug can be observed by comparing the total sector size in
    fdisk expert more to fsck.msdos; this discrepancy only shows up
    when the number of sectors are odd.
    
    See https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/794043
    for more information.

commit 45c3a5d8229ef998962e495f1efe7d2a6cd8a825
Author: Daniel Baumann <daniel@debian.org>
Date:   Sat Jan 8 23:38:59 2011 +0100

    Re-running Nindent.

commit 37115695884422e6f58ec490d11d460539715f8a
Author: Sergey Gusarov <laborer2008@gmail.com>
Date:   Sat Jan 8 23:36:11 2011 +0100

    Fixing compiler warnings related to the mismatch of types "char *" / "unsigned
    char *".
    
    These warnings appear when you compile the project with the option "-Wall", what
    is done with the current default Makefile.

commit a9055613f0d826021db65c79c2df87ac91e89215
Author: Jaroslav Skarvada <jskarvad@redhat.com>
Date:   Thu Jan 6 22:35:00 2011 +0100

    Fixing overflow bug in reclaim_file function, see
    https://bugzilla.redhat.com/show_bug.cgi?id=660154 for more information.
    
    The problem is that alloc_rootdir_entry counts with 10000 files at max, but the
    filename buffer is only 8 chars long. Due to pattern mask used it results to
    only 10 files at max (FSCK0-9REC). If there is more than 10 files, it overflows
    and hangs.

commit 5a2b37f3ef664dbc7850f3d800890d7bb919b3cd
Author: Sergey Gusarov <laborer2008@gmail.com>
Date:   Thu Jan 6 22:31:39 2011 +0100

    Fixing conversion specifiers in accordance with the type of expressions.

commit 258e5ebbb24fd6293a86fe22d6bcda8ce1794dcd
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Jan 2 15:41:44 2011 +0100

    Indenting source files.

commit 9c22278dda0f8fc05aa537eb0bcb07e51f0dec6a
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Jan 2 15:39:03 2011 +0100

    Adding Nindent script from syslinux.

commit e6008ff5c15dc2e6d5b33f88a447d1159165c95d
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Dec 24 17:58:29 2010 +0100

    Releasing upstream version 3.0.11.

commit bce60d1b0b739612b63852722d8504986096b40d
Author: Michael Stapelberg <michael@stapelberg.de>
Date:   Fri Nov 19 14:09:36 2010 +0100

    Add better error message when the device cannot be opened.
    
    This is helpful for SD cards or other removable media which have an enabled
    write lock -- without the "Permission denied" message, the user has to strace
    mkdosfs to find out what's going on.

commit ff45bd967e5d8ff7edc496adbad57257d4d5432b
Author: Jaroslav Skarvada <jskarvad@redhat.com>
Date:   Fri Oct 8 13:38:16 2010 +0200

    Unalign on s390x, see http://bugzilla.redhat.com/show_bug.cgi?id=624596 for
    more information.

commit 22874327372f914d2919490326c95f4607f8de74
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Sep 12 09:35:47 2010 +0200

    Releasing upstream version 3.0.10.

commit 8b7c9d94a4571142a77a587138bc26b39f8e2863
Author: Alexander Korolkov <alexander.korolkov@gmail.com>
Date:   Sun Sep 12 09:29:12 2010 +0200

    Modify LFN direntries when file is renamed or deleted, see
    Debian bug #596329.

commit 761b798f3bf2b4a87f2d454f555e18758791c864
Author: Alexander Korolkov <alexander.korolkov@gmail.com>
Date:   Sun Sep 12 09:27:07 2010 +0200

    If the test of short filename fails, dosfsck could complain about
    bad long filename, see Debian bug #596327.

commit 8fa3587a946614cd43d813052e0e31e595e6d63d
Author: Alexander Korolkov <alexander.korolkov@gmail.com>
Date:   Sun Sep 12 09:24:47 2010 +0200

    dosfsck: don't complain about bad filenames when short filename
    contains 7 or more characters with codes 128-255, see Debian
    bug #596327.

commit 3893857b841096de6a422ef5bed1b2618a7037d5
Author: Mitch Rybczynski <mrybczynski@miovision.com>
Date:   Mon Jul 5 14:45:54 2010 +0200

    Adding __arm__ define check for some crosscompile toolchains.

commit 7d03b3cc96b83b67638b463610a29abfd6f51f77
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Mar 14 16:42:32 2010 +0100

    Modernizing dosfslabel manpage.

commit 258049911c5df476fb434e0d87e0ece01b9ba137
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Mar 14 16:33:47 2010 +0100

    Modernizing dosfsck manpage.

commit 50d1d96b9666913a90e16904a63e29925675859c
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Mar 14 16:05:32 2010 +0100

    Fixing spelling error in boot.c.

commit 0e87c7890b598d78c6aa3d2a06b2306980e75a3d
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Jan 31 08:31:32 2010 +0100

    Releasing upstream version 3.0.9.

commit 9415707c2c9ad22b48660593915667dd228722fa
Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date:   Sun Jan 31 00:11:41 2010 -0500

    Be sure to store the updated reserved_sector count in the boot sector,
    see Debian bug #567337.

commit 68b3f00471f60a692fe021d65289bbaf2dc990d5
Author: Daniel Baumann <daniel@debian.org>
Date:   Sat Jan 23 10:16:18 2010 +0100

    Releasing upstream version 3.0.8.

commit 69dbf2e002f0cb3f0781256dec7258b66ffae3b6
Author: Daniel Baumann <daniel@debian.org>
Date:   Sat Jan 23 10:15:01 2010 +0100

    Removing some cruft in end-comments.

commit eef306657f3152bbf913a8a45c514f11b2dc2494
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Thu Jan 21 16:58:11 2010 +0100

    When compiling a 32-bit version of dosfstools on an x86_64 machine,
    the resulting applications report strange errors on "large" (> 2 GiB)
    partitions:
    
      Seek to -2118967808:Invalid argument
    
      Warning: Filesystem is FAT32 according to fat_length and fat32_length fields,
      but has only 8613 clusters, less than the required minimum of 65525.
      This may lead to problems on some systems.
    
    This appears to be due to compilation with a 32-bit off_t and lseek() library
    function.
    
    Use lseek64 for positioning, and change some suspect uses of off_t to loff_t.

commit e69f49dd1fe52780071cb3f024d1a8246125915a
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Thu Jan 21 16:56:26 2010 +0100

    If dosfsck is run in read-only mode (-n), exit with code 0
    if the only issue found is an uninitialized free cluster summary.

commit e52a16d488cf680117e4d476400bdd7915ef2f7a
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Thu Jan 21 16:55:30 2010 +0100

    On x86_64, dosfsck incorrectly claims that a free_cluster summary of
    0xFFFFFFFF, defined by Microsoft to be "uninitialized," is wrong.

commit 32db02998ed7882df355fa4077009e8d363df3ab
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Fri Jan 8 09:16:38 2010 +0100

    mkdosfs: correct alignment of the root directory.
    
    Correct the code to align the root directory; it was broken before
    since bs.dir_entries had already been set at the point of alignment.
    This patch removes the dual use of bs.dir_entries and root_dir_entries
    to carry the same information: the information is carried in
    root_dir_entires exclusively, and then bs.dir_entries is set inside
    setup_tables() at a late point.
    
    The code to align the root directory is also wrapped in
    if (align_structures); this avoids rounding the number of root
    directory entries up to a whole sector when used with -a
    (i.e. preserves the previous behavior.)

commit e462ac31a1d5d235b8a31a9e392e44e2dbc3783c
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Wed Jan 6 20:55:36 2010 +0100

    mkdosfs: improve wording in the man page for the -a option.
    
    Improve the English language used in the man page for the -a (no
    align) option to mkdosfs.

commit 680d71d167f30a823f88dd66473fc664cd887ab0
Author: Daniel Baumann <daniel@debian.org>
Date:   Wed Jan 6 11:27:25 2010 +0100

    Adding reference to dosfslable in mkdosfs manpage.

commit 60fc9f853c1045e615b34a193738f88021678d30
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Wed Jan 6 11:18:55 2010 +0100

    mkdosfs: by default align all structures to cluster boundaries
    
    Align all data structures (reserved sectors, FATs, root directory for
    FAT12/16) to an even multiple of the cluster size. This means that if
    the partition is aligned, so will all clusters be. This adds
    significant performance for anything where the physical sector size is
    larger than the logical sector size, e.g. flash media or large-sector
    hard disks.

commit 312b05fc47107f695483994375a1f6f429069708
Author: Daniel Baumann <daniel@debian.org>
Date:   Thu Dec 24 10:53:36 2009 +0100

    Releasing upstream version 3.0.7.

commit 844307669208608a3464157ddb5e789bd9556f34
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Thu Dec 24 09:55:52 2009 +0100

    Fixing dosfslabel to set volume label in the right place,
    see Debian bug #559985.

commit 1bae0e2037717d65b3283db9da51ae7686a7a9be
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Dec 24 09:39:39 2009 +0100

    Fixing out-of bound writes.
    
    Firstly, packed attribute is added to the structure so that extension
    is guarranteed to immediately follow name for the cross-name-extension
    reads to succeed.
    
    Secondly, writes into dir_entry->name that span through the extension as
    well are split into two, so that FORTIFY_SOURCE's bound checking does
    not abort dosfsck. There also was an off-by-one error in auto_rename()'s
    sprintf().

commit eb297071adfca1ed7af85ca111f20ab41db8ac59
Author: San Mehat <san@google.com>
Date:   Thu Dec 24 09:31:41 2009 +0100

    Adding custom exit code in dosfsck for the case where the FS is read only.

commit b3864d0939c960d0e0f15e4e3b1d626639b64681
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Oct 4 10:59:33 2009 +0200

    Releasing upstream version 3.0.6.

commit 144f8fcfc3f7982e8f460f8379a753b7a5941783
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Sun Oct 4 10:58:43 2009 +0200

    Attempt to improve clarity of the orphan cluster reclaim code.
    Minor optimization - remove some unnecessary checking.

commit 343fe6d5e7135efadc498fd91e19ba8da499d0c9
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Sun Oct 4 08:37:19 2009 +0200

    Close hole that permitted clusters to link to (invalid) cluster 1.
    
    If an orphan chain that linked to cluster 1 was reclaimed to a file,
    deletion of the file would result in a filesystem panic.

commit db079a02059d7f7296fbe9f87624623a43816c5f
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Sun Oct 4 08:32:30 2009 +0200

    Fix erroneous report of huge number of clusters in use on big-endian
    systems when the FSINFO free cluster count is reset.

commit 7d5320b8a374b8da1a16b09b3b9b0713828d6755
Author: Daniel Baumann <daniel@debian.org>
Date:   Mon Jul 27 14:26:11 2009 +0200

    Releasing upstream version 3.0.5.

commit e80ede4dd3c2058fe32e29ff82244ecb1c7c5514
Author: Piotr Kaczuba <pepe@attika.ath.cx>
Date:   Sun Jul 26 22:21:25 2009 +0200

    Signed/unsigned char mismatch in check.c causes false positives
    in bad_name() and can result in data loss, see Debian bug #538758.

commit 9e15ddf6d52dd166efcb59f91f16fb9d695c86c5
Author: Andrew Tridgell <tridge@samba.org>
Date:   Sun Jul 26 22:12:06 2009 +0200

    Update to new kernel patches that add FAT_NO_83NAME flag.
    
    See http://lkml.org/lkml/2009/7/20/425 and
    http://lkml.org/lkml/2009/7/20/424 for more information.

commit 6c68b94008157c444954d2f90a7f9ec8ffc2ec87
Author: Daniel Baumann <daniel@debian.org>
Date:   Tue Jul 21 08:10:52 2009 +0200

    Releasing upstream version 3.0.4.

commit 3ce6422e93f3de746be092e324253a8722917a86
Author: Andrew Tridgell <tridge@samba.org>
Date:   Tue Jul 21 07:59:22 2009 +0200

    Modify dosfstools to support the dummy 8.3 short filename values
    used by Linux systems with the VFAT_FS_DUALNAMES option disabled.
    
    See http://lkml.org/lkml/2009/6/26/313 and
    http://lkml.org/lkml/2009/6/26/314 for more information.

commit 94f8769aeddf0d0d3f0be54361514a464907a4a1
Author: Paul Rupe <prupe@nc.rr.com>
Date:   Tue May 19 10:37:52 2009 +0200

    Fixing "Too many files need repair" error during fsck.

commit 89566399e407e54eb14d275770106ad42b3ac87c
Author: Daniel Baumann <daniel@debian.org>
Date:   Mon May 18 15:12:04 2009 +0200

    Releasing upstream version 3.0.3.

commit 8147c98a542b714ccab34b57c84ed842bb6b50f2
Author: Daniel Baumann <daniel@debian.org>
Date:   Mon May 18 15:10:55 2009 +0200

    Also declaring arm as an unaligned architecture, see Debian bug #502961.

commit 18e27fa5c0f811e7edc10bca771acc7c04b19146
Author: Steven J. Magnani <steve@digidescorp.com>
Date:   Mon May 18 15:01:49 2009 +0200

    Adding support for limited-memory embedded systems.
    
    This patch reorganizes heap memory usage by dosfsck and mkdosfs
    to support limited-memory embedded systems - in particular, those
    based on Xilinx's Microblaze processor. It also adds a few comments.

commit 180b68e652df7bfeb7f336e0247aee8873edea7f
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Mar 5 07:03:36 2009 +0100

    Declaring Blackfin as an unaligned architecture.

commit 71ac75353d9158aed663f0a3a9d1a1a67ee4ff4f
Author: Daniel Baumann <daniel@debian.org>
Date:   Sat Feb 28 09:48:04 2009 +0100

    Releasing upstream version 3.0.2.

commit a75924b8ff629fe7ca5ba9c58ac75f66290242ee
Author: Hiroaki Ishizawa <hiroaki.ishizawa@gmail.com>
Date:   Fri Feb 13 10:00:46 2009 +0100

    dosfsck corrupts root directory when fs->nfats is 1.

commit 161a5e1fdd019732e0a304beceaeeb606eb128d6
Author: Stepan Kasal <skasal@redhat.com>
Date:   Fri Jan 30 14:56:33 2009 +0100

    src/dosfslabel.c (main): After writing the label, exit code should be 0.

commit 26ffa1fb565c2b3284b846ca2733118808c85cb5
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Jan 30 14:06:01 2009 +0100

    Also installing ChangeLog in install-doc target of Makefile.

commit abad38ee561b02ec47be7e861780bf5fa2a05d0b
Author: Stepan Kasal <skasal@redhat.com>
Date:   Fri Jan 30 14:05:12 2009 +0100

    Makefile: Do not clobber time stamps of doc files.

commit 81882d20ec6bd4bf4914d39636cecc8c8e57dd67
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Nov 23 22:45:45 2008 +0100

    Releasing upstream version 3.0.1.

commit 41574812a2586f0b6aa1d4f6e2276e557e9cbbcf
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Nov 23 18:41:01 2008 +0100

    Applying Fedoras dosfstools-vfat-timingfix.diff from Bill Nottingham
    <notting@redhat.com> to fix vfat timing issue. See
    https://bugzilla.redhat.com/show_bug.cgi?id=448247 for more information.

commit b80656109cc5cffdefd626c2ec9d45e3cf63a03e
Author: Ulrich Mueller <ulm@gentoo.org>
Date:   Tue Oct 7 07:55:37 2008 +0200

    Patch to check for bad number of clusters in dosfsck:
    
      * FAT16 filesystems with 65525 clusters or more will be rejected
        (Before, this was not tested for. Up to 65535 clusters were accepted
        as good).
    
      * For FAT32 filesystems with less than 65525 a warning message will be
        output.
    
    Macro MSDOS_FAT12 is now replaced by FAT12_THRESHOLD to make it
    consistent with the definition in mkdosfs and to remove the dependency
    on the kernel version.

commit b9c13d143c420a3ec6e1dcb652cafa407621e9c7
Author: Dann Frazier <dannf@hp.com>
Date:   Tue Sep 30 07:25:19 2008 +0200

    Changing some wording to make the indended meaning of "full-disk device"
    more obvious.

commit 4df18ad463f41ae368c3c51bfb5a033072605663
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Sep 28 11:43:19 2008 +0200

    Releasing upstream version 3.0.0.

commit 17fbf2a6dc9255a6bb832472ae7cda674b55e961
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Sep 28 11:29:01 2008 +0200

    Adding GPL headers to all files.

commit d2039e12c8d53472411c91eb8e7a7c0544e13d6d
Author: Daniel Baumann <daniel@debian.org>
Date:   Sun Sep 28 10:51:55 2008 +0200

    Adding new GPL license file.

commit e4e457f4b57090ecf0539f48dc682ab9afd14ab8
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 23:31:12 2008 +0200

    Redoing Makefile from scratch.

commit 216568ca3a01ed38962b22c7bf838d15d5a4d98d
Author: Daniel Baumann <daniel@debian.org>
Date:   Sat Sep 27 00:17:38 2008 +0200

    Removing whitespaces in all files at EOL and EOF.

commit f59157e06561c525605279145057361afa721042
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 23:48:56 2008 +0200

    Adding Debians dosfslabel.8 manpage from Francois Wendling
    <frwendling@free.fr>.

commit c1bacab212d2b7f6ea93914976cb60056ff8276d
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:36:04 2008 +0200

    Updating version.h includes to new location of version.h file.

commit 1dae9f522062037d3539cadf344e0359c644171f
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:19:36 2008 +0200

    Removing old lsm file.

commit d843bec0b987f5582fe048f70e42df18c34d3ae4
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:07:47 2008 +0200

    Removing old cvsignore files.

commit 77fddbc03016752286b26913c62b98f86ee63211
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:18:39 2008 +0200

    Removing old build file.

commit f3e7168fc9eb6f32a6c85021186d84944cefeba8
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:19:16 2008 +0200

    Removing old GPL license files.

commit 68089477036e97911791516ee2167286f26ff819
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:21:57 2008 +0200

    Unifying dosfsck and mkdosfs Makefiles in common src/Makefile.

commit 9432a02d6e7c38872d7b1042f1b8be1b24a57427
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:04:02 2008 +0200

    Unifying dosfsck and mkdosfs sources in common src directory.

commit 0c179b9ee47174d0f34d9fc796d540012740ac01
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:05:27 2008 +0200

    Unifying dosfsck and mkdosfs manpages in common man directory.

commit 2d246c28ba6cfd43be2e44b11283891d922f352b
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 18:12:29 2008 +0200

    Unifying dosfsck and mkdosfs documents in common doc directory.

commit e5b16990515d0214fd103dd8aa22ff6a3cda4b64
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:39:51 2008 +0200

    Applying Gentoos dosfstools-2.11-preen.patch from Roy Marples
    <uberlord@gentoo.org> to alias dosfsck -p to -a:
    
      * Map -p to -a for baselayout-2, #177514.

commit 6a1d974251a9f9a142775ace3a8048149abfa90c
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:49:43 2008 +0200

    Applying Gentoos dosfstools-2.11-build.patch from Mike Frysinger
    <vapier@gentoo.org> to improve Makefile:
    
      * Respect user settings #157785/#157786 by Diego Petteno.

commit 1ea49f00e61b554dc833d44e1a3617e923be667e
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:37:34 2008 +0200

    Applying Gentoos dosfstools-2.11-verify-double-count-fix.patch from
    Robin H. Johnson <robbat2@gentoo.org> to fix double count of files
    during verification:
    
      * Don't double-count n_files during a verification pass.
        Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845

commit 2d2f20b2c495fa620c7bb3ec5a0838b08f65ab05
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:33:36 2008 +0200

    Applying Gentoos dosfstools-2.11-fat32size.patch from Mike Frysinger
    <vapier@gentoo.org> to fix generation of filesystems on 256meg devices:
    
      * Fix generation of FAT filesystems on devices that are 256meg in size
        Patch by Ulrich Mueller and accepted upstream
        http://bugs.gentoo.org/112504

commit a86564a9317b2bf9f7734feacdce794f20af74a7
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:22:06 2008 +0200

    Applying Suses dosfstools-2.11-unsupported-sector-size.patch from Petr
    Gajdos <pgajdos@suse.cz> to add sector size warning:
    
      * added warning for creation msdos on filesystem with sector size
        greater than 4096 [fate#303325]

commit 8171e51f4e02bd9f92bb515ca7896d3cb1b564b5
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:18:35 2008 +0200

    Applying Suses dosfstools-2.11-mkdosfs-geo0.diff from Ludwig Nussel
    <lnussel@suse.de> to fix handling of zero heads and sectors:
    
      * the HDIO_GETGEO ioctl works on device mapper devices but returns
        zero heads and sectors. Therefore let's a) assume dummy values in
        that case in mkdosfs and b) don't consider such fat file systems as
        invalid in dosfsck. The Linux kernel accepts them anyways.

commit db887df619f4e995db0ab112334f31464a03fa0e
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:15:40 2008 +0200

    Applying Suses dosfstools-2.11-linuxfs.patch from Ruediger Oertel
    <ro@suse.de> to not include linux/fs.h.

commit 7fe3fa643494b26962d542fac38d988ac60f8c09
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:11:50 2008 +0200

    Applying Fedoras dosfstools-2.11-assumeKernel26.patch from Peter Vrabec
    <pvrabec@redhat.com> to remove linux 2.6 conditionals:
    
      * LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) does not work with
        glibc-kernheaders-2.4-9.1.94

commit 90c1c93c100722a03e48be51b1312fe65c1cb156
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 15:05:00 2008 +0200

    Applying Debians 99-conglomeration.dpatch (no other information
    available).

commit bb6541bf4735e3a7f1c71b4722c6d03bb4549eea
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:26:41 2008 +0200

    Applying Debians 15-manpage-files.dpatch from Daniel Baumann
    <daniel@debian.org> to improve dosfsck manpage:
    
      * Lists fsckNNNN.rec files in FILES section (Closes: #444596).

commit 49282165866be19d3bc54a3f4bdee2cf3a63ba6c
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:34:42 2008 +0200

    Applying Debians 13-getopt.dpatch from Adonikam Virgo
    <adonikam@virgonet.org> to fix mkdosfs getopt:
    
      * Fixes backup sector getopt (Closes: #232387, #479794).

commit c32e44b85f4eac6f6a94bd620eea4abba257042a
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:34:17 2008 +0200

    Applying Debians 12-zero-slot.dpatch by Karl Tomlinson
    <karlt@karlt.net> to fix dosfsck zero slot crashes:
    
      * Fixes crashes due to zero slot numbers causing a negative offset in
        the call to copy_lfn_part in lfn_add_slot. On amd64 this results in
        a SIGSEGV in copy_lfn_part. On x86 the result is heap corruption
        and thus sometimes a SIGSEGV or double free abort later. (Closes:
        #152550, #353198, #356377, #401798).

commit 370847af533e628aa9e38710e6d50af09f2b71ba
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:33:54 2008 +0200

    Applying Debians 11-memory-efficiency.dpatch from Eero Tamminen
    <eero.tamminen@nokia.com> to improve dosfsck memory efficiency:
    
      * Improves memory efficiency when checking filesystems.

commit 28da9f286a52acec7df7ad06cb0679e5f828e7f3
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:33:28 2008 +0200

    Applying Debians 10-manpage-synopsis.dpatch from Daniel Baumann
    <daniel@debian.org> to fix manpage synopsis:
    
      * List alternative binary names in manpage synopsis (Closes: #284983).

commit f253073021551c9b58d0f2ac262deb3c1b950b06
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:32:46 2008 +0200

    Applying Debians 09-manpage-fat32.dpatch from Daniel Baumann
    <daniel@debian.org> to improve mkdosfs manpage:
    
      * Don't claim that FAT32 is not choosed automatically (Closes:
        #414183).

commit f37c07aec3972cfc0db374d544ee3b27c0b4b20b
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:32:23 2008 +0200

    Applying Debians 08-manpage-drop.dpatch from Daniel Baumann
    <daniel@debian.org> to improve dosfsck manpage:
    
      * Don't use confusing word 'drop' when 'delete' is meant (Closes:
        #134100).

commit 3f970c65586da2f44d2a49b639e89341bbaf1fba
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:31:50 2008 +0200

    Applying Debians 07-manpage-spelling.dpatch from Justin Pryzby
    <justinpryzby@users.sourceforge.net> to fix mkdosfs manpage typos.

commit 18678ba5f3a10c2a54ffee735651d7a265ae7d54
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:30:31 2008 +0200

    Applying Suses dosfstools-2.11_determine-sector-size.patch from Petr
    Gajdos <pgajdos@suse.cz> to determine mkdosfs sector size automatically:
    
      * determine sector size of device automatically or if -S parameter
        present, verify, that it's not under physical sector size

commit 29753931b078856d78f473cfb6273e111a26891e
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:30:03 2008 +0200

    Applying Suses dosfstools-2.11-o_excl.patch from Pavol Rusnak
    <prusnak@suse.cz> to use O_EXCL in mkdosfs:
    
      * mkdosfs now opens device with O_EXCL [#238687]

commit 16bb7b09ad9eaf0fe37a732cabcdbdf975b77d3e
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 14:29:36 2008 +0200

    Applying Debians 04-unaligned-memory.dpatch from Khalid Aziz
    <khalid_aziz@hp.com> to fix dosfsck unaligned memory accesses:
    
      * Fix unaligned memory accesses which cause warnings to appear
        everytime the elilo bootloader script runs. This has led a number
        of users to believe their install has failed (Closes: #258839).

commit 1298cc8f37eaa27ca542b8b7186ea5a47a63cd7e
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 13:47:40 2008 +0200

    Applying Fedoras dosfstools-2.11-label.patch from Jeremy Katz
    <katzj@redhat.com> to add dosfslabel (originally by Peter Jones).

commit d23890e1d89770d6d2ba58362c2fc4ebafbde15c
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 13:41:14 2008 +0200

    Applying Fedoras dosfstools-2.11-fortify.patch from Jakub Jelinek
    <jakub@redhat.com> to make it build with -D_FORTIFY_SOURCE=2:
    
      * This violates -D_FORTIFY_SOURCE=2 (which is stricter than C
        standard), but isn't actually any buffer overflow. But using memcpy
        is more efficient anyway.

commit 7dbd82000e59246c1c2f8c280c4491259e10a767
Author: Daniel Baumann <daniel@debian.org>
Date:   Fri Sep 26 13:40:47 2008 +0200

    Applying Fedoras dosfstools-2.7-argfix.patch (no other information
    available).

commit 88f3b3139c72ac11cb3dd3f5afa8dbb2198a8de5
Author: Daniel Baumann <daniel@debian.org>
Date:   Thu Jun 26 12:45:36 2008 +0200

    Adding upstream version 2.11.
