From 70e3df6d5d1dba1cf005093649f3dae9216e75c2 Mon Sep 17 00:00:00 2001 From: "fix94.1" Date: Sun, 29 Apr 2012 09:03:06 +0000 Subject: [PATCH] -back to a cache of 8, libntfs 2011.4.12 and the old ntfs mount settings (new libntfs makes problems) --- portlibs/include/ntfs.h | 1 - portlibs/lib/libcustomntfs.a | Bin 534730 -> 558998 bytes portlibs/sources/libcustomntfs/Makefile | 46 +- portlibs/sources/libcustomntfs/include/ntfs.h | 1 - portlibs/sources/libcustomntfs/source/acls.c | 14 +- .../sources/libcustomntfs/source/attrib.c | 49 +- portlibs/sources/libcustomntfs/source/cache.c | 3 + .../sources/libcustomntfs/source/compress.c | 426 ++++++++------- .../sources/libcustomntfs/source/config.h | 12 +- portlibs/sources/libcustomntfs/source/debug.h | 4 +- .../sources/libcustomntfs/source/device.c | 55 -- portlibs/sources/libcustomntfs/source/dir.c | 30 +- portlibs/sources/libcustomntfs/source/efs.c | 2 + portlibs/sources/libcustomntfs/source/index.c | 512 +++++++++--------- portlibs/sources/libcustomntfs/source/inode.c | 105 ++-- .../sources/libcustomntfs/source/layout.h | 6 +- .../sources/libcustomntfs/source/lcnalloc.c | 182 +++---- .../sources/libcustomntfs/source/logfile.c | 9 +- portlibs/sources/libcustomntfs/source/mft.c | 12 +- portlibs/sources/libcustomntfs/source/mst.c | 24 +- portlibs/sources/libcustomntfs/source/mst.h | 3 - .../sources/libcustomntfs/source/ntfstime.h | 12 - .../sources/libcustomntfs/source/object_id.c | 2 + portlibs/sources/libcustomntfs/source/param.h | 18 - .../sources/libcustomntfs/source/runlist.c | 9 +- .../sources/libcustomntfs/source/security.c | 82 +-- portlibs/sources/libcustomntfs/source/types.h | 2 +- .../sources/libcustomntfs/source/unistr.c | 92 ++-- .../sources/libcustomntfs/source/volume.c | 140 +---- .../sources/libcustomntfs/source/volume.h | 6 - source/devicemounter/PartitionHandle.cpp | 4 +- 31 files changed, 825 insertions(+), 1038 deletions(-) diff --git a/portlibs/include/ntfs.h b/portlibs/include/ntfs.h index 62f2f719..22474232 100644 --- a/portlibs/include/ntfs.h +++ b/portlibs/include/ntfs.h @@ -1,7 +1,6 @@ /** * ntfs.h - Simple functionality for startup, mounting and unmounting of NTFS-based devices. * - * Copyright (c) 2010 Dimok * Copyright (c) 2009 Rhys "Shareese" Koedijk * Copyright (c) 2006 Michael "Chishm" Chisholm * diff --git a/portlibs/lib/libcustomntfs.a b/portlibs/lib/libcustomntfs.a index f41786e3c60e0e7293884f32883f1dd6c8c2801b..58e2abd717251b30f0d1d76c9b7b8018ea829578 100644 GIT binary patch literal 558998 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≪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

?!!PCkzdI{ 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 HmM8xYq1-+p literal 534730 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") +endif -all: debug release +include $(DEVKITPPC)/wii_rules -debug: cube-debug wii-debug +LIBOGC_INC := $(DEVKITPRO)/libogc/include +LIBOGC_LIB := $(DEVKITPRO)/libogc/lib/wii -release: cube-release wii-release +CFLAGS := -O3 $(MACHDEP) -I$(LIBOGC_INC) -DHAVE_CONFIG_H -cube-debug: - $(MAKE) -C source PLATFORM=cube BUILD=cube_debug +SOURCES := source +LIB := ntfs +CFILES := $(wildcard $(SOURCES)/*.c) +OFILES := $(CFILES:.c=.o) +ARC := lib$(LIB).a +HDR := ntfs.h -wii-debug: - $(MAKE) -C source PLATFORM=wii BUILD=wii_debug +all : $(OFILES) + $(AR) -r $(ARC) $(OFILES) -cube-release: - $(MAKE) -C source PLATFORM=cube BUILD=cube_release +clean : + rm -f $(OFILES) $(ARC) -wii-release: - $(MAKE) -C source PLATFORM=wii BUILD=wii_release - -clean: - $(MAKE) -C source clean - -install: cube-release wii-release - $(MAKE) -C source install - -run: install - $(MAKE) -C example - $(MAKE) -C example run +install : + cp -f $(ARC) ../../lib + cp -f $(HDR) ../../include + cp -f ntfsfile_frag.h ../../include +%.o : %.c + $(CC) $(CFLAGS) -c $< -o $@ diff --git a/portlibs/sources/libcustomntfs/include/ntfs.h b/portlibs/sources/libcustomntfs/include/ntfs.h index 62f2f719..22474232 100644 --- a/portlibs/sources/libcustomntfs/include/ntfs.h +++ b/portlibs/sources/libcustomntfs/include/ntfs.h @@ -1,7 +1,6 @@ /** * ntfs.h - Simple functionality for startup, mounting and unmounting of NTFS-based devices. * - * Copyright (c) 2010 Dimok * Copyright (c) 2009 Rhys "Shareese" Koedijk * Copyright (c) 2006 Michael "Chishm" Chisholm * diff --git a/portlibs/sources/libcustomntfs/source/acls.c b/portlibs/sources/libcustomntfs/source/acls.c index 070d7575..2a58eeaf 100644 --- a/portlibs/sources/libcustomntfs/source/acls.c +++ b/portlibs/sources/libcustomntfs/source/acls.c @@ -522,7 +522,9 @@ gid_t ntfs_find_group(const struct MAPPING* groupmapping, const SID * gsid) { gid_t gid; const struct MAPPING *p; + int gsidsz; + gsidsz = ntfs_sid_size(gsid); p = groupmapping; while (p && p->xid && !ntfs_same_sid(gsid, p->sid)) p = p->next; @@ -878,7 +880,7 @@ BOOL ntfs_valid_posix(const struct POSIX_SECURITY *pxdesc) } } if ((pxdesc->acccnt > 0) - && ((checks[0].owners != 1) || (checks[0].groups != 1) + && ((checks[0].owners != 1) || (checks[0].groups != 1) || (checks[0].others != 1))) ok = FALSE; /* do not check owner, group or other are present in */ @@ -1804,7 +1806,7 @@ static BOOL build_group_denials_grant(ACL *pacl, * - grants to owner (always present - first grant) * + grants to designated user * + mask denial to group (unless mask allows all) - * - denials to group (preventing grants to world to apply) + * - denials to group (preventing grants to world to apply) * - grants to group (unless group has no more than world rights) * + mask denials to designated group (unless mask allows all) * + grants to designated group @@ -1899,6 +1901,7 @@ static int buildacls_posix(struct MAPPING* const mapping[], const SID *sid; int acecnt; int usidsz; + int gsidsz; int wsidsz; int asidsz; int ssidsz; @@ -1906,6 +1909,7 @@ static int buildacls_posix(struct MAPPING* const mapping[], le32 grants; usidsz = ntfs_sid_size(usid); + gsidsz = ntfs_sid_size(gsid); wsidsz = ntfs_sid_size(worldsid); asidsz = ntfs_sid_size(adminsid); ssidsz = ntfs_sid_size(systemsid); @@ -3128,6 +3132,7 @@ static int norm_ownadmin_permissions_posix(struct POSIX_SECURITY *posix_desc, u16 tag; u16 tagsset; struct POSIX_ACE *pxace; + int acccnt; mode_t denywrld; mode_t allow; mode_t deny; @@ -3136,6 +3141,7 @@ static int norm_ownadmin_permissions_posix(struct POSIX_SECURITY *posix_desc, mode = 0; pxace = posix_desc->acl.ace; + acccnt = posix_desc->acccnt; tagsset = 0; denywrld = 0; /* @@ -3875,10 +3881,12 @@ struct POSIX_SECURITY *ntfs_build_permissions_posix( int ntfs_build_permissions(const char *securattr, const SID *usid, const SID *gsid, BOOL isdir) { + const SECURITY_DESCRIPTOR_RELATIVE *phead; int perm; BOOL adminowns; BOOL groupowns; + phead = (const SECURITY_DESCRIPTOR_RELATIVE*)securattr; adminowns = ntfs_same_sid(usid,adminsid) || ntfs_same_sid(gsid,adminsid); groupowns = !adminowns && ntfs_same_sid(gsid,usid); @@ -3961,6 +3969,7 @@ static struct MAPLIST *getmappingitem(FILEREADER reader, void *fileid, { int src; int dst; + char *p; char *q; char *pu; char *pg; @@ -3994,6 +4003,7 @@ static struct MAPLIST *getmappingitem(FILEREADER reader, void *fileid, if (gotend) { pu = pg = (char*)NULL; /* decompose into uid, gid and sid */ + p = item->maptext; item->uidstr = item->maptext; item->gidstr = strchr(item->uidstr, ':'); if (item->gidstr) { diff --git a/portlibs/sources/libcustomntfs/source/attrib.c b/portlibs/sources/libcustomntfs/source/attrib.c index 281a6205..e6f614f0 100644 --- a/portlibs/sources/libcustomntfs/source/attrib.c +++ b/portlibs/sources/libcustomntfs/source/attrib.c @@ -475,10 +475,9 @@ ntfs_attr *ntfs_attr_open(ntfs_inode *ni, const ATTR_TYPES type, } cs = a->flags & (ATTR_IS_COMPRESSED | ATTR_IS_SPARSE); - - /* a file may be sparse though its unnamed data is not (cf $UsnJrnl) */ + if (na->type == AT_DATA && na->name == AT_UNNAMED && - (((a->flags & ATTR_IS_SPARSE) && !NAttrSparse(na)) || + ((!(a->flags & ATTR_IS_SPARSE) != !NAttrSparse(na)) || (!(a->flags & ATTR_IS_ENCRYPTED) != !NAttrEncrypted(na)))) { errno = EIO; ntfs_log_perror("Inode %lld has corrupt attribute flags " @@ -1775,6 +1774,7 @@ s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count, const void *b) } need_to = { 0, 0 }; BOOL wasnonresident = FALSE; BOOL compressed; + BOOL sparse; BOOL updatemap; ntfs_log_enter("Entering for inode %lld, attr 0x%x, pos 0x%llx, count " @@ -1850,7 +1850,7 @@ s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count, const void *b) goto errno_set; } #else - if (ntfs_attr_truncate_i(na, pos + count, HOLES_OK)) { + if (ntfs_attr_truncate(na, pos + count)) { ntfs_log_perror("Failed to enlarge attribute"); goto errno_set; } @@ -1860,6 +1860,7 @@ s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count, const void *b) != const_cpu_to_le16(0); need_to.undo_data_size = 1; } + sparse = (na->data_flags & ATTR_IS_SPARSE) != const_cpu_to_le16(0); /* * For compressed data, a single full block was allocated * to deal with compression, possibly in a previous call. @@ -2220,7 +2221,7 @@ done: updatemap = (compressed ? NAttrFullyMapped(na) != 0 : update_from != -1); #endif - if (updatemap) { + if (updatemap) if (ntfs_attr_update_mapping_pairs(na, (update_from < 0 ? 0 : update_from))) { /* @@ -2230,10 +2231,6 @@ done: total = -1; goto out; } - if (!wasnonresident) - NAttrClearBeingNonResident(na); - NAttrClearDataAppending(na); - } out: ntfs_log_leave("\n"); return total; @@ -2295,8 +2292,7 @@ err_out: if (updatemap) ntfs_attr_update_mapping_pairs(na, 0); /* Restore original data_size if needed. */ - if (need_to.undo_data_size - && ntfs_attr_truncate_i(na, old_data_size, HOLES_OK)) + if (need_to.undo_data_size && ntfs_attr_truncate(na, old_data_size)) ntfs_log_perror("Failed to restore data_size"); errno = eo; errno_set: @@ -2314,6 +2310,7 @@ int ntfs_attr_pclose(ntfs_attr *na) ntfs_attr_search_ctx *ctx = NULL; runlist_element *rl; int eo; + s64 hole; int compressed_part; BOOL compressed; @@ -2425,6 +2422,7 @@ int ntfs_attr_pclose(ntfs_attr *na) goto rl_err_out; } if (rl->lcn < (LCN)0) { + hole = rl->vcn + rl->length; if (rl->lcn != (LCN)LCN_HOLE) { errno = EIO; ntfs_log_perror("%s: Unexpected LCN (%lld)", @@ -2477,7 +2475,6 @@ retry: goto out; } out: - NAttrClearComprClosing(na); ntfs_log_leave("\n"); return (!ok); rl_err_out: @@ -2534,7 +2531,6 @@ s64 ntfs_attr_mst_pread(ntfs_attr *na, const s64 pos, const s64 bk_cnt, { s64 br; u8 *end; - BOOL warn; ntfs_log_trace("Entering for inode 0x%llx, attr type 0x%x, pos 0x%llx.\n", (unsigned long long)na->ni->mft_no, na->type, @@ -2548,11 +2544,9 @@ s64 ntfs_attr_mst_pread(ntfs_attr *na, const s64 pos, const s64 bk_cnt, if (br <= 0) return br; br /= bk_size; - /* log errors unless silenced */ - warn = !na->ni || !na->ni->vol || !NVolNoFixupWarn(na->ni->vol); for (end = (u8*)dst + br * bk_size; (u8*)dst < end; dst = (u8*)dst + bk_size) - ntfs_mst_post_read_fixup_warn((NTFS_RECORD*)dst, bk_size, warn); + ntfs_mst_post_read_fixup((NTFS_RECORD*)dst, bk_size); /* Finally, return the number of blocks read. */ return br; } @@ -3550,14 +3544,6 @@ int ntfs_attr_size_bounds_check(const ntfs_volume *vol, const ATTR_TYPES type, min_size = sle64_to_cpu(ad->min_size); max_size = sle64_to_cpu(ad->max_size); - - /* The $AttrDef generated by Windows specifies 2 as min_size for the - * volume name attribute, but in reality Windows sets it to 0 when - * clearing the volume name. If we want to be able to clear the volume - * name we must also accept 0 as min_size, despite the $AttrDef - * definition. */ - if(type == AT_VOLUME_NAME) - min_size = 0; if ((min_size && (size < min_size)) || ((max_size > 0) && (size > max_size))) { @@ -4310,7 +4296,7 @@ add_non_resident: goto rm_attr_err_out; } /* Resize and set attribute value. */ - if (ntfs_attr_truncate_i(na, size, HOLES_OK) || + if (ntfs_attr_truncate(na, size) || (val && (ntfs_attr_pwrite(na, 0, size, val) != size))) { err = errno; ntfs_log_perror("Failed to initialize just added attribute"); @@ -4891,7 +4877,6 @@ cluster_free_err_out: ntfs_log_trace("Eeek! Failed to release allocated clusters in error " "code path. Leaving inconsistent metadata...\n"); NAttrClearNonResident(na); - NAttrClearFullyMapped(na); na->allocated_size = na->data_size; na->rl = NULL; free(rl); @@ -5015,7 +5000,7 @@ static int ntfs_resident_attr_resize_i(ntfs_attr *na, const s64 newsize, return (ret); } /* Resize non-resident attribute */ - return ntfs_attr_truncate_i(na, newsize, HOLES_OK); + return ntfs_attr_truncate(na, newsize); } else if (errno != ENOSPC && errno != EPERM) { err = errno; ntfs_log_perror("Failed to make attribute non-resident"); @@ -5363,6 +5348,7 @@ static int ntfs_attr_make_resident(ntfs_attr *na, ntfs_attr_search_ctx *ctx) * record is in a transiently corrupted state at this moment in time. */ if (ntfs_cluster_free(vol, na, 0, -1) < 0) { + err = errno; ntfs_log_perror("Eeek! Failed to release allocated clusters"); ntfs_log_trace("Ignoring error and leaving behind wasted " "clusters.\n"); @@ -5374,7 +5360,6 @@ static int ntfs_attr_make_resident(ntfs_attr *na, ntfs_attr_search_ctx *ctx) /* Update in-memory struct ntfs_attr. */ NAttrClearNonResident(na); - NAttrClearFullyMapped(na); NAttrClearSparse(na); NAttrClearEncrypted(na); na->initialized_size = na->data_size; @@ -5468,7 +5453,6 @@ static int ntfs_attr_update_meta(ATTR_RECORD *a, ntfs_attr *na, MFT_RECORD *m, NAttrClearSparse(na); a->flags &= ~ATTR_IS_SPARSE; - na->data_flags = a->flags; a->compression_unit = 0; memmove((u8*)a + le16_to_cpu(a->name_offset) - 8, @@ -6438,12 +6422,7 @@ out: int ntfs_attr_truncate(ntfs_attr *na, const s64 newsize) { - int r; - - r = ntfs_attr_truncate_i(na, newsize, HOLES_OK); - NAttrClearDataAppending(na); - NAttrClearBeingNonResident(na); - return (r); + return (ntfs_attr_truncate_i(na, newsize, HOLES_OK)); } /* diff --git a/portlibs/sources/libcustomntfs/source/cache.c b/portlibs/sources/libcustomntfs/source/cache.c index faabe628..b1ae2915 100644 --- a/portlibs/sources/libcustomntfs/source/cache.c +++ b/portlibs/sources/libcustomntfs/source/cache.c @@ -376,6 +376,7 @@ int ntfs_invalidate_cache(struct CACHE_HEADER *cache, int flags) { struct CACHED_GENERIC *current; + struct CACHED_GENERIC *previous; struct CACHED_GENERIC *next; struct HASH_ENTRY *link; int count; @@ -411,6 +412,7 @@ int ntfs_invalidate_cache(struct CACHE_HEADER *cache, * Search sequentially in LRU list */ current = cache->most_recent_entry; + previous = (struct CACHED_GENERIC*)NULL; while (current) { if (!compare(current, item)) { next = current->next; @@ -421,6 +423,7 @@ int ntfs_invalidate_cache(struct CACHE_HEADER *cache, current = next; count++; } else { + previous = current; current = current->next; } } diff --git a/portlibs/sources/libcustomntfs/source/compress.c b/portlibs/sources/libcustomntfs/source/compress.c index aeb082d5..73d493e1 100644 --- a/portlibs/sources/libcustomntfs/source/compress.c +++ b/portlibs/sources/libcustomntfs/source/compress.c @@ -28,7 +28,7 @@ * this was put into public domain in 1988 by Haruhiko OKUMURA). * * LZHUF.C English version 1.0 - * Based on Japanese version 29-NOV-1988 + * Based on Japanese version 29-NOV-1988 * LZSS coded by Haruhiko OKUMURA * Adaptive Huffman Coding coded by Haruyasu YOSHIZAKI * Edited and translated to English by Kenji RIKITAKE @@ -62,8 +62,8 @@ #include "logging.h" #include "misc.h" -#undef le16_to_cpup -/* the standard le16_to_cpup() crashes for unaligned data on some processors */ +#undef le16_to_cpup +/* the standard le16_to_cpup() crashes for unaligned data on some processors */ #define le16_to_cpup(p) (*(u8*)(p) + (((u8*)(p))[1] << 8)) /** @@ -81,215 +81,259 @@ typedef enum { NTFS_SB_IS_COMPRESSED = 0x8000, } ntfs_compression_constants; +#define THRESHOLD 3 /* minimal match length for compression */ +#define NIL NTFS_SB_SIZE /* End of tree's node */ + struct COMPRESS_CONTEXT { const unsigned char *inbuf; - int bufsize; - int size; - int rel; - int mxsz; - s16 head[256]; - s16 lson[NTFS_SB_SIZE]; - s16 rson[NTFS_SB_SIZE]; + unsigned int len; + unsigned int nbt; + int match_position; + unsigned int match_length; + u16 lson[NTFS_SB_SIZE + 1]; + u16 rson[NTFS_SB_SIZE + 257]; + u16 dad[NTFS_SB_SIZE + 1]; } ; /* - * Search for the longest sequence matching current position - * - * A binary tree is maintained to locate all previously met sequences, - * and this function has to be called for all of them. - * - * This function is heavily used, it has to be optimized carefully - * - * Returns the size of the longest match, - * zero if no match is found. + * Initialize the match tree */ -static int ntfs_best_match(struct COMPRESS_CONTEXT *pctx, int i) +static void ntfs_init_compress_tree(struct COMPRESS_CONTEXT *pctx) { - s16 *prev; - int node; - register long j; - long maxpos; - long startj; - long bestj; - int bufsize; - int bestnode; - register const unsigned char *p1,*p2; + int i; - p1 = pctx->inbuf; - node = pctx->head[p1[i] & 255]; - if (node >= 0) { - /* search the best match at current position */ - bestnode = node; - bufsize = pctx->bufsize; - /* restrict matches to the longest allowed sequence */ - maxpos = bufsize; - if ((i + pctx->mxsz) < maxpos) - maxpos = i + pctx->mxsz; - startj = i + 1 - maxpos; - bestj = startj; - /* make indexes relative to end of allowed position */ - p1 = &p1[maxpos]; - if (startj < 0) { - do { - /* indexes are negative */ - p2 = &p1[node - i]; - /* no need to compare the first byte */ - j = startj; - /* the second byte cannot lead to useful compression */ - if (p1[j] == p2[j]) { - j++; - if (j < 0) { - do { - } while ((p1[j] == p2[j]) - && (++j < 0)); - } - /* remember the match, if better */ - if (j > bestj) { - bestj = j; - bestnode = node; - } - } - /* walk in the tree in the right direction */ - if ((j < 0) && (p1[j] < p2[j])) - prev = &pctx->lson[node]; - else - prev = &pctx->rson[node]; - node = *prev; - /* stop if reaching a leaf or maximum length */ - } while ((node >= 0) && (j < 0)); - /* put the node into the tree if we reached a leaf */ - if (node < 0) - *prev = i; - } - /* done, return the best match */ - pctx->size = bestj + maxpos - i; - pctx->rel = bestnode - i; - } else { - pctx->head[p1[i] & 255] = i; - pctx->size = 0; - pctx->rel = 0; - } - return (pctx->size); + for (i = NTFS_SB_SIZE + 1; i <= NTFS_SB_SIZE + 256; i++) + pctx->rson[i] = NIL; /* root */ + for (i = 0; i < NTFS_SB_SIZE; i++) + pctx->dad[i] = NIL; /* node */ } /* - * Compress a 4096-byte block - * - * Returns a header of two bytes followed by the compressed data. - * If compression is not effective, the header and an uncompressed - * block is returned. - * - * Note : two bytes may be output before output buffer overflow - * is detected, so a 4100-bytes output buffer must be reserved. - * - * Returns the size of the compressed block, including the - * header (minimal size is 2, maximum size is 4098) - * 0 if an error has been met. + * Insert a new node into match tree for quickly locating + * further similar strings */ -static unsigned int ntfs_compress_block(const char *inbuf, int bufsize, - char *outbuf) +static void ntfs_new_node (struct COMPRESS_CONTEXT *pctx, + unsigned int r) +{ + unsigned int pp; + BOOL less; + BOOL done; + const unsigned char *key; + int c; + unsigned long mxi; + unsigned int mxl; + + mxl = (1 << (16 - pctx->nbt)) + 2; + less = FALSE; + done = FALSE; + key = &pctx->inbuf[r]; + pp = NTFS_SB_SIZE + 1 + key[0]; + pctx->rson[r] = pctx->lson[r] = NIL; + pctx->match_length = 0; + do { + if (!less) { + if (pctx->rson[pp] != NIL) + pp = pctx->rson[pp]; + else { + pctx->rson[pp] = r; + pctx->dad[r] = pp; + done = TRUE; + } + } else { + if (pctx->lson[pp] != NIL) + pp = pctx->lson[pp]; + else { + pctx->lson[pp] = r; + pctx->dad[r] = pp; + done = TRUE; + } + } + if (!done) { + register unsigned long i; + register const unsigned char *p1,*p2; + + i = 1; + mxi = NTFS_SB_SIZE - r; + if (mxi < 2) + less = FALSE; + else { + p1 = key; + p2 = &pctx->inbuf[pp]; + /* this loop has a significant impact on performances */ + do { + } while ((p1[i] == p2[i]) && (++i < mxi)); + less = (i < mxi) && (p1[i] < p2[i]); + } + if (i >= THRESHOLD) { + if (i > pctx->match_length) { + pctx->match_position = + r - pp + 2*NTFS_SB_SIZE - 1; + if ((pctx->match_length = i) > mxl) { + i = pctx->rson[pp]; + pctx->rson[r] = i; + pctx->dad[i] = r; + i = pctx->lson[pp]; + pctx->lson[r] = i; + pctx->dad[i] = r; + i = pctx->dad[pp]; + pctx->dad[r] = i; + if (pctx->rson[i] == pp) + pctx->rson[i] = r; + else + pctx->lson[i] = r; + /* remove pp */ + pctx->dad[pp] = NIL; + done = TRUE; + pctx->match_length = mxl; + } + } else + if ((i == pctx->match_length) + && ((c = (r - pp + 2*NTFS_SB_SIZE - 1)) + < pctx->match_position)) + pctx->match_position = c; + } + } + } while (!done); +} + +/* + * Search for the longest previous string matching the + * current one + * + * Returns the end of the longest current string which matched + * or zero if there was a bug + */ + +static unsigned int ntfs_nextmatch(struct COMPRESS_CONTEXT *pctx, + unsigned int rr, int dd) +{ + unsigned int bestlen = 0; + + do { + rr++; + if (pctx->match_length > 0) + pctx->match_length--; + if (!pctx->len) { + ntfs_log_error("compress bug : void run\n"); + goto bug; + } + if (--pctx->len) { + if (rr >= NTFS_SB_SIZE) { + ntfs_log_error("compress bug : buffer overflow\n"); + goto bug; + } + if (((rr + bestlen) < NTFS_SB_SIZE)) { + while ((unsigned int)(1 << pctx->nbt) + <= (rr - 1)) + pctx->nbt++; + ntfs_new_node(pctx,rr); + if (pctx->match_length > bestlen) + bestlen = pctx->match_length; + } else + if (dd > 0) { + rr += dd; + if ((int)pctx->match_length > dd) + pctx->match_length -= dd; + else + pctx->match_length = 0; + if ((int)pctx->len < dd) { + ntfs_log_error("compress bug : run overflows\n"); + goto bug; + } + pctx->len -= dd; + dd = 0; + } + } + } while (dd-- > 0); + return (rr); +bug : + return (0); +} + +/* + * Compress an input block + * + * Returns the size of the compressed block (including header) + * or zero if there was an error + */ + +static unsigned int ntfs_compress_block(const char *inbuf, + unsigned int size, char *outbuf) { struct COMPRESS_CONTEXT *pctx; - int i; /* current position */ - int j; /* end of best match from current position */ - int k; /* end of best match from next position */ - int offs; /* offset to best match */ - int n; - int bp; /* bits to store offset */ - int mxoff; /* max match offset : 1 << bp */ - int mxsz2; + char *ptag; + int dd; + unsigned int rr; + unsigned int last_match_length; + unsigned int q; unsigned int xout; - unsigned int q; /* aggregated offset and size */ - int done; - char *ptag; /* location reserved for a tag */ - int tag; /* current value of tag */ - int ntag; /* count of bits still undefined in tag */ + unsigned int ntag; pctx = (struct COMPRESS_CONTEXT*)ntfs_malloc(sizeof(struct COMPRESS_CONTEXT)); if (pctx) { - for (n=0; nlson[n] = pctx->rson[n] = -1; - for (n=0; n<256; n++) - pctx->head[n] = -1; pctx->inbuf = (const unsigned char*)inbuf; - pctx->bufsize = bufsize; + ntfs_init_compress_tree(pctx); xout = 2; - n = 0; - i = 0; - bp = 4; - mxoff = 1 << bp; - pctx->mxsz = (1 << (16 - bp)) + 2; - tag = 0; - done = -1; - ntag = 8; + ntag = 0; ptag = &outbuf[xout++]; - while ((i < bufsize) && (xout < (NTFS_SB_SIZE + 2))) { - /* adjust the longest match we can output */ - while (mxoff < i) { - bp++; - mxoff <<= 1; - pctx->mxsz = (pctx->mxsz + 2) >> 1; - } - /* search the best match at current position */ - if (done < i) - do { - ntfs_best_match(pctx,++done); - } while (done < i); - j = i + pctx->size; - if ((j - i) > pctx->mxsz) - j = i + pctx->mxsz; - - if ((j - i) > 2) { - offs = pctx->rel; - /* check whether there is a better run at i+1 */ - ntfs_best_match(pctx,i+1); - done = i+1; - k = i + 1 + pctx->size; - mxsz2 = pctx->mxsz; - if (mxoff <= i) - mxsz2 = (pctx->mxsz + 2) >> 1; - if ((k - i) > mxsz2) - k = i + mxsz2; - if (k > (j + 1)) { - /* issue a single byte */ - outbuf[xout++] = inbuf[i]; - i++; - } else { - q = (~offs << (16 - bp)) - + (j - i - 3); - outbuf[xout++] = q & 255; - outbuf[xout++] = (q >> 8) & 255; - tag |= (1 << (8 - ntag)); - i = j; + *ptag = 0; + rr = 0; + pctx->nbt = 4; + pctx->len = size; + pctx->match_length = 0; + ntfs_new_node(pctx,0); + do { + if (pctx->match_length > pctx->len) + pctx->match_length = pctx->len; + if (pctx->match_length < THRESHOLD) { + pctx->match_length = 1; + if (ntag >= 8) { + ntag = 0; + ptag = &outbuf[xout++]; + *ptag = 0; } + outbuf[xout++] = inbuf[rr]; + ntag++; } else { - outbuf[xout++] = inbuf[i]; - i++; + while ((unsigned int)(1 << pctx->nbt) + <= (rr - 1)) + pctx->nbt++; + q = (pctx->match_position << (16 - pctx->nbt)) + + pctx->match_length - THRESHOLD; + if (ntag >= 8) { + ntag = 0; + ptag = &outbuf[xout++]; + *ptag = 0; + } + *ptag |= 1 << ntag++; + outbuf[xout++] = q & 255; + outbuf[xout++] = (q >> 8) & 255; } - /* store the tag if fully used */ - if (!--ntag) { - *ptag = tag; - ntag = 8; - ptag = &outbuf[xout++]; - tag = 0; + last_match_length = pctx->match_length; + dd = last_match_length; + if (dd-- > 0) { + rr = ntfs_nextmatch(pctx,rr,dd); + if (!rr) + goto bug; } - } - /* store the last tag, if partially used */ - if (ntag == 8) - xout--; - else - *ptag = tag; - /* uncompressed must be full size, accept if better */ - if ((i >= bufsize) && (xout < (NTFS_SB_SIZE + 2))) { + /* + * stop if input is exhausted or output has exceeded + * the maximum size. Two extra bytes have to be + * reserved in output buffer, as 3 bytes may be + * output in a loop. + */ + } while ((pctx->len > 0) + && (rr < size) && (xout < (NTFS_SB_SIZE + 2))); + /* uncompressed must be full size, so accept if better */ + if (xout < (NTFS_SB_SIZE + 2)) { outbuf[0] = (xout - 3) & 255; outbuf[1] = 0xb0 + (((xout - 3) >> 8) & 15); } else { - memcpy(&outbuf[2],inbuf,bufsize); - if (bufsize < NTFS_SB_SIZE) - memset(&outbuf[bufsize+2], 0, - NTFS_SB_SIZE - bufsize); + memcpy(&outbuf[2],inbuf,size); + if (size < NTFS_SB_SIZE) + memset(&outbuf[size+2],0,NTFS_SB_SIZE - size); outbuf[0] = 0xff; outbuf[1] = 0x3f; xout = NTFS_SB_SIZE + 2; @@ -299,7 +343,9 @@ static unsigned int ntfs_compress_block(const char *inbuf, int bufsize, xout = 0; errno = ENOMEM; } - return (xout); + return (xout); /* 0 for an error, > size if cannot compress */ +bug : + return (0); } /** @@ -501,7 +547,7 @@ return_overflow: * code. Might be a bit confusing to debug but there really should never be * errors coming from here. */ -static BOOL ntfs_is_cb_compressed(ntfs_attr *na, runlist_element *rl, +static BOOL ntfs_is_cb_compressed(ntfs_attr *na, runlist_element *rl, VCN cb_start_vcn, int cb_clusters) { /* @@ -621,12 +667,12 @@ s64 ntfs_compressed_attr_pread(ntfs_attr *na, s64 pos, s64 count, void *b) cb_size = na->compression_block_size; cb_size_mask = cb_size - 1UL; cb_clusters = na->compression_block_clusters; - + /* Need a temporary buffer for each loaded compression block. */ cb = (u8*)ntfs_malloc(cb_size); if (!cb) return -1; - + /* Need a temporary buffer for each uncompressed block. */ dest = (u8*)ntfs_malloc(cb_size); if (!dest) { @@ -1466,12 +1512,12 @@ static int ntfs_read_append(ntfs_attr *na, const runlist_element *rl, * or -1 if there were an irrecoverable error (errno set) */ -static s32 ntfs_flush(ntfs_attr *na, runlist_element *rl, s64 offs, +static int ntfs_flush(ntfs_attr *na, runlist_element *rl, s64 offs, const char *outbuf, s32 count, BOOL compress, BOOL appending, VCN *update_from) { - s32 rounded; - s32 written; + int rounded; + int written; int clsz; if (compress) { @@ -1609,7 +1655,7 @@ s64 ntfs_compressed_pwrite(ntfs_attr *na, runlist_element *wrl, s64 wpos, * (we are reopening an existing file to append to it) * Decompress the data and append */ - compsz = (s32)compressed_part << vol->cluster_size_bits; + compsz = compressed_part << vol->cluster_size_bits; outbuf = (char*)ntfs_malloc(na->compression_block_size); if (outbuf) { if (appending) { diff --git a/portlibs/sources/libcustomntfs/source/config.h b/portlibs/sources/libcustomntfs/source/config.h index f145094c..a0a5da00 100644 --- a/portlibs/sources/libcustomntfs/source/config.h +++ b/portlibs/sources/libcustomntfs/source/config.h @@ -226,9 +226,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BYTEORDER_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DISK_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_ENDIAN_H @@ -312,13 +309,13 @@ #define PACKAGE_NAME "ntfs-3g" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "ntfs-3g 2012.1.15" +#define PACKAGE_STRING "ntfs-3g 2011.4.12" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "ntfs-3g" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2012.1.15" +#define PACKAGE_VERSION "2011.4.12" /* POSIX ACL support */ #undef POSIXACLS @@ -348,7 +345,7 @@ #endif /* Version number of package */ -#define VERSION "2012.1.15" +#define VERSION "2011.4.12" /* Define to 1 if this is a Windows OS */ #undef WINDOWS @@ -378,9 +375,6 @@ /* Required define if using POSIX threads */ #undef _REENTRANT -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/portlibs/sources/libcustomntfs/source/debug.h b/portlibs/sources/libcustomntfs/source/debug.h index f7f3c6fb..cf39b625 100644 --- a/portlibs/sources/libcustomntfs/source/debug.h +++ b/portlibs/sources/libcustomntfs/source/debug.h @@ -38,10 +38,10 @@ static __inline__ void ntfs_debug_runlist_dump(const struct _runlist_element *rl #define NTFS_BUG(msg) \ { \ - int ___i = 1; \ + int ___i; \ ntfs_log_critical("Bug in %s(): %s\n", __FUNCTION__, msg); \ ntfs_log_debug("Forcing segmentation fault!"); \ - ___i = ((int*)NULL)[___i]; \ + ___i = ((int*)NULL)[1]; \ } #endif /* defined _NTFS_DEBUG_H */ diff --git a/portlibs/sources/libcustomntfs/source/device.c b/portlibs/sources/libcustomntfs/source/device.c index 274abacb..db840108 100644 --- a/portlibs/sources/libcustomntfs/source/device.c +++ b/portlibs/sources/libcustomntfs/source/device.c @@ -58,9 +58,6 @@ #ifdef HAVE_SYS_MOUNT_H #include #endif -#ifdef HAVE_SYS_DISK_H -#include -#endif #ifdef HAVE_LINUX_FD_H #include #endif @@ -559,36 +556,6 @@ s64 ntfs_device_size_get(struct ntfs_device *dev, int block_size) return (s64)this_floppy.size * 512 / block_size; } } -#endif -#ifdef DIOCGMEDIASIZE - { - /* FreeBSD */ - off_t size; - - if (dev->d_ops->ioctl(dev, DIOCGMEDIASIZE, &size) >= 0) { - ntfs_log_debug("DIOCGMEDIASIZE nr bytes = %llu (0x%llx)\n", - (unsigned long long)size, - (unsigned long long)size); - return (s64)size / block_size; - } - } -#endif -#ifdef DKIOCGETBLOCKCOUNT - { - /* Mac OS X */ - uint64_t blocks; - int sector_size; - - sector_size = ntfs_device_sector_size_get(dev); - if (sector_size >= 0 && dev->d_ops->ioctl(dev, - DKIOCGETBLOCKCOUNT, &blocks) >= 0) - { - ntfs_log_debug("DKIOCGETBLOCKCOUNT nr blocks = %llu (0x%llx)\n", - (unsigned long long) blocks, - (unsigned long long) blocks); - return blocks * sector_size / block_size; - } - } #endif /* * We couldn't figure it out by using a specialized ioctl, @@ -738,28 +705,6 @@ int ntfs_device_sector_size_get(struct ntfs_device *dev) return sect_size; } } -#elif defined(DIOCGSECTORSIZE) - { - /* FreeBSD */ - size_t sect_size = 0; - - if (!dev->d_ops->ioctl(dev, DIOCGSECTORSIZE, §_size)) { - ntfs_log_debug("DIOCGSECTORSIZE sector size = %d bytes\n", - (int) sect_size); - return sect_size; - } - } -#elif defined(DKIOCGETBLOCKSIZE) - { - /* Mac OS X */ - uint32_t sect_size = 0; - - if (!dev->d_ops->ioctl(dev, DKIOCGETBLOCKSIZE, §_size)) { - ntfs_log_debug("DKIOCGETBLOCKSIZE sector size = %d bytes\n", - (int) sect_size); - return sect_size; - } - } #else errno = EOPNOTSUPP; #endif diff --git a/portlibs/sources/libcustomntfs/source/dir.c b/portlibs/sources/libcustomntfs/source/dir.c index ccae47c3..198bc29d 100644 --- a/portlibs/sources/libcustomntfs/source/dir.c +++ b/portlibs/sources/libcustomntfs/source/dir.c @@ -257,7 +257,7 @@ u64 ntfs_inode_lookup_by_name(ntfs_inode *dir_ni, u8 *index_end; ntfs_attr *ia_na; int eo, rc; - u32 index_block_size; + u32 index_block_size, index_vcn_size; u8 index_vcn_size_bits; ntfs_log_trace("Entering\n"); @@ -378,9 +378,11 @@ u64 ntfs_inode_lookup_by_name(ntfs_inode *dir_ni, /* Determine the size of a vcn in the directory index. */ if (vol->cluster_size <= index_block_size) { + index_vcn_size = vol->cluster_size; index_vcn_size_bits = vol->cluster_size_bits; } else { - index_vcn_size_bits = NTFS_BLOCK_SIZE_BITS; + index_vcn_size = vol->sector_size; + index_vcn_size_bits = vol->sector_size_bits; } /* Get the starting vcn of the index_block holding the child node. */ @@ -1037,7 +1039,7 @@ int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos, INDEX_ENTRY *ie; INDEX_ALLOCATION *ia = NULL; int rc, ir_pos, bmp_buf_size, bmp_buf_pos, eo; - u32 index_block_size; + u32 index_block_size, index_vcn_size; u8 index_block_size_bits, index_vcn_size_bits; ntfs_log_trace("Entering.\n"); @@ -1129,9 +1131,11 @@ int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos, } index_block_size_bits = ffs(index_block_size) - 1; if (vol->cluster_size <= index_block_size) { + index_vcn_size = vol->cluster_size; index_vcn_size_bits = vol->cluster_size_bits; } else { - index_vcn_size_bits = NTFS_BLOCK_SIZE_BITS; + index_vcn_size = vol->sector_size; + index_vcn_size_bits = vol->sector_size_bits; } /* Are we jumping straight into the index allocation attribute? */ @@ -1513,7 +1517,7 @@ static ntfs_inode *__ntfs_create(ntfs_inode *dir_ni, le32 securid, else ir->clusters_per_index_block = ni->vol->indx_record_size >> - NTFS_BLOCK_SIZE_BITS; + ni->vol->sector_size_bits; ir->index.entries_offset = cpu_to_le32(sizeof(INDEX_HEADER)); ir->index.index_length = cpu_to_le32(index_len); ir->index.allocated_size = cpu_to_le32(index_len); @@ -2504,24 +2508,24 @@ int ntfs_set_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni, int res = 0; int longlen = 0; int shortlen = 0; - char newname[3*MAX_DOS_NAME_LENGTH + 1]; + char newname[MAX_DOS_NAME_LENGTH + 1]; ntfschar oldname[MAX_DOS_NAME_LENGTH]; int oldlen; + ntfs_volume *vol; + u64 fnum; u64 dnum; BOOL closed = FALSE; ntfschar *shortname = NULL; ntfschar longname[NTFS_MAX_NAME_LEN]; - /* copy the string to insert a null char, and truncate */ - if (size > 3*MAX_DOS_NAME_LENGTH) - size = 3*MAX_DOS_NAME_LENGTH; + vol = ni->vol; + fnum = ni->mft_no; + /* convert the string to the NTFS wide chars */ + if (size > MAX_DOS_NAME_LENGTH) + size = MAX_DOS_NAME_LENGTH; strncpy(newname, value, size); - /* a long name may be truncated badly and be untranslatable */ newname[size] = 0; - /* convert the string to the NTFS wide chars, and truncate */ shortlen = ntfs_mbstoucs(newname, &shortname); - if (shortlen > MAX_DOS_NAME_LENGTH) - shortlen = MAX_DOS_NAME_LENGTH; /* make sure the short name has valid chars */ if ((shortlen < 0) || ntfs_forbidden_chars(shortname,shortlen)) { ntfs_inode_close_in_dir(ni,dir_ni); diff --git a/portlibs/sources/libcustomntfs/source/efs.c b/portlibs/sources/libcustomntfs/source/efs.c index 7957005b..6ccec20a 100644 --- a/portlibs/sources/libcustomntfs/source/efs.c +++ b/portlibs/sources/libcustomntfs/source/efs.c @@ -139,6 +139,7 @@ static int fixup_loop(ntfs_inode *ni) ntfs_attr *na; ATTR_RECORD *a; BOOL restart; + BOOL first; int cnt; int maxcnt; int res = 0; @@ -199,6 +200,7 @@ static int fixup_loop(ntfs_inode *ni) if (na) ntfs_attr_close(na); } + first = FALSE; } while (restart && !res); if (ctx) ntfs_attr_put_search_ctx(ctx); diff --git a/portlibs/sources/libcustomntfs/source/index.c b/portlibs/sources/libcustomntfs/source/index.c index b0c0a4e6..8080b889 100644 --- a/portlibs/sources/libcustomntfs/source/index.c +++ b/portlibs/sources/libcustomntfs/source/index.c @@ -83,9 +83,9 @@ static VCN ntfs_ib_pos_to_vcn(ntfs_index_context *icx, s64 pos) static int ntfs_ib_write(ntfs_index_context *icx, INDEX_BLOCK *ib) { s64 ret, vcn = sle64_to_cpu(ib->index_block_vcn); - + ntfs_log_trace("vcn: %lld\n", (long long)vcn); - + ret = ntfs_attr_mst_pwrite(icx->ia_na, ntfs_ib_vcn_to_pos(icx, vcn), 1, icx->block_size, ib); if (ret != 1) { @@ -93,7 +93,7 @@ static int ntfs_ib_write(ntfs_index_context *icx, INDEX_BLOCK *ib) (long long)vcn, (unsigned long long)icx->ni->mft_no); return STATUS_ERROR; } - + return STATUS_OK; } @@ -101,9 +101,9 @@ static int ntfs_icx_ib_write(ntfs_index_context *icx) { if (ntfs_ib_write(icx, icx->ib)) return STATUS_ERROR; - + icx->ib_dirty = FALSE; - + return STATUS_OK; } @@ -122,7 +122,7 @@ ntfs_index_context *ntfs_index_ctx_get(ntfs_inode *ni, ntfs_index_context *icx; ntfs_log_trace("Entering\n"); - + if (!ni) { errno = EINVAL; return NULL; @@ -142,7 +142,7 @@ ntfs_index_context *ntfs_index_ctx_get(ntfs_inode *ni, static void ntfs_index_ctx_free(ntfs_index_context *icx) { ntfs_log_trace("Entering\n"); - + if (!icx->entry) return; @@ -156,7 +156,7 @@ static void ntfs_index_ctx_free(ntfs_index_context *icx) } free(icx->ib); } - + ntfs_attr_close(icx->ia_na); } @@ -181,9 +181,9 @@ void ntfs_index_ctx_put(ntfs_index_context *icx) void ntfs_index_ctx_reinit(ntfs_index_context *icx) { ntfs_log_trace("Entering\n"); - + ntfs_index_ctx_free(icx); - + *icx = (ntfs_index_context) { .ni = icx->ni, .name = icx->name, @@ -225,30 +225,30 @@ static int ntfs_ie_end(INDEX_ENTRY *ie) return ie->ie_flags & INDEX_ENTRY_END || !ie->length; } -/** +/** * Find the last entry in the index block */ static INDEX_ENTRY *ntfs_ie_get_last(INDEX_ENTRY *ie, char *ies_end) { ntfs_log_trace("Entering\n"); - + while ((char *)ie < ies_end && !ntfs_ie_end(ie)) ie = ntfs_ie_get_next(ie); - + return ie; } static INDEX_ENTRY *ntfs_ie_get_by_pos(INDEX_HEADER *ih, int pos) { INDEX_ENTRY *ie; - + ntfs_log_trace("pos: %d\n", pos); - + ie = ntfs_ie_get_first(ih); - + while (pos-- > 0) ie = ntfs_ie_get_next(ie); - + return ie; } @@ -256,16 +256,16 @@ static INDEX_ENTRY *ntfs_ie_prev(INDEX_HEADER *ih, INDEX_ENTRY *ie) { INDEX_ENTRY *ie_prev = NULL; INDEX_ENTRY *tmp; - + ntfs_log_trace("Entering\n"); - + tmp = ntfs_ie_get_first(ih); - + while (tmp != ie) { ie_prev = tmp; tmp = ntfs_ie_get_next(tmp); } - + return ie_prev; } @@ -289,9 +289,9 @@ void ntfs_ie_filename_dump(INDEX_ENTRY *ie) void ntfs_ih_filename_dump(INDEX_HEADER *ih) { INDEX_ENTRY *ie; - + ntfs_log_trace("Entering\n"); - + ie = ntfs_ie_get_first(ih); while (!ntfs_ie_end(ie)) { ntfs_ie_filename_dump(ie); @@ -304,9 +304,9 @@ static int ntfs_ih_numof_entries(INDEX_HEADER *ih) int n; INDEX_ENTRY *ie; u8 *end; - + ntfs_log_trace("Entering\n"); - + end = ntfs_ie_get_end(ih); ie = ntfs_ie_get_first(ih); for (n = 0; !ntfs_ie_end(ie) && (u8 *)ie < end; n++) @@ -327,9 +327,9 @@ static int ntfs_ih_zero_entry(INDEX_HEADER *ih) static void ntfs_ie_delete(INDEX_HEADER *ih, INDEX_ENTRY *ie) { u32 new_size; - + ntfs_log_trace("Entering\n"); - + new_size = le32_to_cpu(ih->index_length) - le16_to_cpu(ie->length); ih->index_length = cpu_to_le32(new_size); memmove(ie, (u8 *)ie + le16_to_cpu(ie->length), @@ -347,9 +347,9 @@ static void ntfs_ie_set_vcn(INDEX_ENTRY *ie, VCN vcn) static void ntfs_ie_insert(INDEX_HEADER *ih, INDEX_ENTRY *ie, INDEX_ENTRY *pos) { int ie_size = le16_to_cpu(ie->length); - + ntfs_log_trace("Entering\n"); - + ih->index_length = cpu_to_le32(le32_to_cpu(ih->index_length) + ie_size); memmove((u8 *)pos + ie_size, pos, le32_to_cpu(ih->index_length) - ((u8 *)pos - (u8 *)ih) - ie_size); @@ -359,13 +359,13 @@ static void ntfs_ie_insert(INDEX_HEADER *ih, INDEX_ENTRY *ie, INDEX_ENTRY *pos) static INDEX_ENTRY *ntfs_ie_dup(INDEX_ENTRY *ie) { INDEX_ENTRY *dup; - + ntfs_log_trace("Entering\n"); - + dup = ntfs_malloc(le16_to_cpu(ie->length)); if (dup) memcpy(dup, ie, le16_to_cpu(ie->length)); - + return dup; } @@ -373,12 +373,12 @@ static INDEX_ENTRY *ntfs_ie_dup_novcn(INDEX_ENTRY *ie) { INDEX_ENTRY *dup; int size = le16_to_cpu(ie->length); - + ntfs_log_trace("Entering\n"); - + if (ie->ie_flags & INDEX_ENTRY_NODE) size -= sizeof(VCN); - + dup = ntfs_malloc(size); if (dup) { memcpy(dup, ie, size); @@ -391,19 +391,19 @@ static INDEX_ENTRY *ntfs_ie_dup_novcn(INDEX_ENTRY *ie) static int ntfs_ia_check(ntfs_index_context *icx, INDEX_BLOCK *ib, VCN vcn) { u32 ib_size = (unsigned)le32_to_cpu(ib->index.allocated_size) + 0x18; - + ntfs_log_trace("Entering\n"); - + if (!ntfs_is_indx_record(ib->magic)) { - + ntfs_log_error("Corrupt index block signature: vcn %lld inode " "%llu\n", (long long)vcn, (unsigned long long)icx->ni->mft_no); return -1; } - + if (sle64_to_cpu(ib->index_block_vcn) != vcn) { - + ntfs_log_error("Corrupt index block: VCN (%lld) is different " "from expected VCN (%lld) in inode %llu\n", (long long)sle64_to_cpu(ib->index_block_vcn), @@ -411,12 +411,12 @@ static int ntfs_ia_check(ntfs_index_context *icx, INDEX_BLOCK *ib, VCN vcn) (unsigned long long)icx->ni->mft_no); return -1; } - + if (ib_size != icx->block_size) { - + ntfs_log_error("Corrupt index block : VCN (%lld) of inode %llu " "has a size (%u) differing from the index " - "specified size (%u)\n", (long long)vcn, + "specified size (%u)\n", (long long)vcn, (unsigned long long)icx->ni->mft_no, ib_size, icx->block_size); return -1; @@ -431,24 +431,24 @@ static INDEX_ROOT *ntfs_ir_lookup(ntfs_inode *ni, ntfschar *name, INDEX_ROOT *ir = NULL; ntfs_log_trace("Entering\n"); - + *ctx = ntfs_attr_get_search_ctx(ni, NULL); if (!*ctx) return NULL; - - if (ntfs_attr_lookup(AT_INDEX_ROOT, name, name_len, CASE_SENSITIVE, + + if (ntfs_attr_lookup(AT_INDEX_ROOT, name, name_len, CASE_SENSITIVE, 0, NULL, 0, *ctx)) { ntfs_log_perror("Failed to lookup $INDEX_ROOT"); goto err_out; } - + a = (*ctx)->attr; if (a->non_resident) { errno = EINVAL; ntfs_log_perror("Non-resident $INDEX_ROOT detected"); goto err_out; } - + ir = (INDEX_ROOT *)((char *)a + le16_to_cpu(a->value_offset)); err_out: if (!ir) { @@ -469,11 +469,11 @@ static INDEX_ROOT *ntfs_ir_lookup2(ntfs_inode *ni, ntfschar *name, u32 len) return ir; } -/** +/** * Find a key in the index block. - * + * * Return values: - * STATUS_OK with errno set to ESUCCESS if we know for sure that the + * STATUS_OK with errno set to ESUCCESS if we know for sure that the * entry exists and @ie_out points to this entry. * STATUS_NOT_FOUND with errno set to ENOENT if we know for sure the * entry doesn't exist and @ie_out is the insertion point. @@ -488,11 +488,11 @@ static int ntfs_ie_lookup(const void *key, const int key_len, INDEX_ENTRY *ie; u8 *index_end; int rc, item = 0; - + ntfs_log_trace("Entering\n"); - + index_end = ntfs_ie_get_end(ih); - + /* * Loop until we exceed valid memory (corruption case) or until we * reach the last entry. @@ -537,14 +537,14 @@ static int ntfs_ie_lookup(const void *key, const int key_len, */ if (rc == -1) break; - + if (!rc) { *ie_out = ie; errno = 0; icx->parent_pos[icx->pindex] = item; return STATUS_OK; } - + item++; } /* @@ -558,7 +558,7 @@ static int ntfs_ie_lookup(const void *key, const int key_len, errno = ENOENT; return STATUS_NOT_FOUND; } - + /* Get the starting vcn of the index_block holding the child node. */ *vcn = ntfs_ie_get_vcn(ie); if (*vcn < 0) { @@ -570,21 +570,21 @@ static int ntfs_ie_lookup(const void *key, const int key_len, ntfs_log_trace("Parent entry number %d\n", item); icx->parent_pos[icx->pindex] = item; - + return STATUS_KEEP_SEARCHING; } static ntfs_attr *ntfs_ia_open(ntfs_index_context *icx, ntfs_inode *ni) { ntfs_attr *na; - + na = ntfs_attr_open(ni, AT_INDEX_ALLOCATION, icx->name, icx->name_len); if (!na) { ntfs_log_perror("Failed to open index allocation of inode " "%llu", (unsigned long long)ni->mft_no); return NULL; } - + return na; } @@ -593,22 +593,22 @@ static int ntfs_ib_read(ntfs_index_context *icx, VCN vcn, INDEX_BLOCK *dst) s64 pos, ret; ntfs_log_trace("vcn: %lld\n", (long long)vcn); - + pos = ntfs_ib_vcn_to_pos(icx, vcn); ret = ntfs_attr_mst_pread(icx->ia_na, pos, 1, icx->block_size, (u8 *)dst); if (ret != 1) { if (ret == -1) ntfs_log_perror("Failed to read index block"); - else + else ntfs_log_error("Failed to read full index block at " "%lld\n", (long long)pos); return -1; } - + if (ntfs_ia_check(icx, dst, vcn)) return -1; - + return 0; } @@ -633,7 +633,7 @@ static int ntfs_icx_parent_dec(ntfs_index_context *icx) } return STATUS_OK; } - + /** * ntfs_index_lookup - find a key in an index and return its index entry * @key: [IN] key for which to search in the index @@ -676,7 +676,7 @@ int ntfs_index_lookup(const void *key, const int key_len, ntfs_index_context *ic int ret, err = 0; ntfs_log_trace("Entering\n"); - + if (!key || key_len <= 0) { errno = EINVAL; ntfs_log_perror("key: %p key_len: %d", key, key_len); @@ -689,7 +689,7 @@ int ntfs_index_lookup(const void *key, const int key_len, ntfs_index_context *ic errno = EIO; return -1; } - + icx->block_size = le32_to_cpu(ir->index_block_size); if (icx->block_size < NTFS_BLOCK_SIZE) { errno = EINVAL; @@ -701,18 +701,18 @@ int ntfs_index_lookup(const void *key, const int key_len, ntfs_index_context *ic if (ni->vol->cluster_size <= icx->block_size) icx->vcn_size_bits = ni->vol->cluster_size_bits; else - icx->vcn_size_bits = NTFS_BLOCK_SIZE_BITS; + icx->vcn_size_bits = ni->vol->sector_size_bits; /* get the appropriate collation function */ icx->collate = ntfs_get_collate_function(ir->collation_rule); if (!icx->collate) { err = errno = EOPNOTSUPP; - ntfs_log_perror("Unknown collation rule 0x%x", + ntfs_log_perror("Unknown collation rule 0x%x", (unsigned)le32_to_cpu(ir->collation_rule)); goto err_out; } - + old_vcn = VCN_INDEX_ROOT_PARENT; - /* + /* * FIXME: check for both ir and ib that the first index entry is * within the index block. */ @@ -721,9 +721,9 @@ int ntfs_index_lookup(const void *key, const int key_len, ntfs_index_context *ic err = errno; goto err_out; } - + icx->ir = ir; - + if (ret != STATUS_KEEP_SEARCHING) { /* STATUS_OK or STATUS_NOT_FOUND */ err = errno; @@ -731,19 +731,19 @@ int ntfs_index_lookup(const void *key, const int key_len, ntfs_index_context *ic icx->parent_vcn[icx->pindex] = old_vcn; goto done; } - + /* Child node present, descend into it. */ - + icx->ia_na = ntfs_ia_open(icx, ni); if (!icx->ia_na) goto err_out; - + ib = ntfs_malloc(icx->block_size); if (!ib) { err = errno; goto err_out; } - + descend_into_child_node: icx->parent_vcn[icx->pindex] = old_vcn; @@ -754,16 +754,16 @@ descend_into_child_node: old_vcn = vcn; ntfs_log_debug("Descend into node with VCN %lld\n", (long long)vcn); - + if (ntfs_ib_read(icx, vcn, ib)) goto err_out; - + ret = ntfs_ie_lookup(key, key_len, icx, &ib->index, &vcn, &ie); if (ret != STATUS_KEEP_SEARCHING) { err = errno; if (ret == STATUS_ERROR) goto err_out; - + /* STATUS_OK or STATUS_NOT_FOUND */ icx->is_in_root = FALSE; icx->ib = ib; @@ -777,7 +777,7 @@ descend_into_child_node: (unsigned long long)ni->mft_no); goto err_out; } - + goto descend_into_child_node; err_out: free(ib); @@ -798,38 +798,38 @@ done: } -static INDEX_BLOCK *ntfs_ib_alloc(VCN ib_vcn, u32 ib_size, +static INDEX_BLOCK *ntfs_ib_alloc(VCN ib_vcn, u32 ib_size, INDEX_HEADER_FLAGS node_type) { INDEX_BLOCK *ib; int ih_size = sizeof(INDEX_HEADER); - + ntfs_log_trace("ib_vcn: %lld ib_size: %u\n", (long long)ib_vcn, ib_size); - + ib = ntfs_calloc(ib_size); if (!ib) return NULL; - + ib->magic = magic_INDX; ib->usa_ofs = cpu_to_le16(sizeof(INDEX_BLOCK)); ib->usa_count = cpu_to_le16(ib_size / NTFS_BLOCK_SIZE + 1); /* Set USN to 1 */ *(u16 *)((char *)ib + le16_to_cpu(ib->usa_ofs)) = cpu_to_le16(1); ib->lsn = cpu_to_le64(0); - + ib->index_block_vcn = cpu_to_sle64(ib_vcn); - + ib->index.entries_offset = cpu_to_le32((ih_size + le16_to_cpu(ib->usa_count) * 2 + 7) & ~7); ib->index.index_length = 0; - ib->index.allocated_size = cpu_to_le32(ib_size - + ib->index.allocated_size = cpu_to_le32(ib_size - (sizeof(INDEX_BLOCK) - ih_size)); ib->index.ih_flags = node_type; - - return ib; -} -/** + return ib; +} + +/** * Find the median by going through all the entries */ static INDEX_ENTRY *ntfs_ie_get_median(INDEX_HEADER *ih) @@ -837,12 +837,12 @@ static INDEX_ENTRY *ntfs_ie_get_median(INDEX_HEADER *ih) INDEX_ENTRY *ie, *ie_start; u8 *ie_end; int i = 0, median; - + ntfs_log_trace("Entering\n"); - + ie = ie_start = ntfs_ie_get_first(ih); ie_end = (u8 *)ntfs_ie_get_end(ih); - + while ((u8 *)ie < ie_end && !ntfs_ie_end(ie)) { ie = ntfs_ie_get_next(ie); i++; @@ -851,12 +851,12 @@ static INDEX_ENTRY *ntfs_ie_get_median(INDEX_HEADER *ih) * NOTE: this could be also the entry at the half of the index block. */ median = i / 2 - 1; - + ntfs_log_trace("Entries: %d median: %d\n", i, median); - + for (i = 0, ie = ie_start; i <= median; i++) ie = ntfs_ie_get_next(ie); - + return ie; } @@ -875,7 +875,7 @@ static int ntfs_ibm_add(ntfs_index_context *icx) u8 bmp[8]; ntfs_log_trace("Entering\n"); - + if (ntfs_attr_exist(icx->ni, AT_BITMAP, icx->name, icx->name_len)) return STATUS_OK; /* @@ -887,7 +887,7 @@ static int ntfs_ibm_add(ntfs_index_context *icx) ntfs_log_perror("Failed to add AT_BITMAP"); return STATUS_ERROR; } - + return STATUS_OK; } @@ -901,7 +901,7 @@ static int ntfs_ibm_modify(ntfs_index_context *icx, VCN vcn, int set) int ret = STATUS_ERROR; ntfs_log_trace("%s vcn: %lld\n", set ? "set" : "clear", (long long)vcn); - + na = ntfs_attr_open(icx->ni, AT_BITMAP, icx->name, icx->name_len); if (!na) { ntfs_log_perror("Failed to open $BITMAP attribute"); @@ -916,17 +916,17 @@ static int ntfs_ibm_modify(ntfs_index_context *icx, VCN vcn, int set) } } } - + if (ntfs_attr_pread(na, bpos, 1, &byte) != 1) { ntfs_log_perror("Failed to read $BITMAP"); goto err_na; } - if (set) + if (set) byte |= bit; else byte &= ~bit; - + if (ntfs_attr_pwrite(na, bpos, 1, &byte) != 1) { ntfs_log_perror("Failed to write $Bitmap"); goto err_na; @@ -956,17 +956,17 @@ static VCN ntfs_ibm_get_free(ntfs_index_context *icx) s64 vcn, byte, size; ntfs_log_trace("Entering\n"); - + bm = ntfs_attr_readall(icx->ni, AT_BITMAP, icx->name, icx->name_len, &size); if (!bm) return (VCN)-1; - + for (byte = 0; byte < size; byte++) { - + if (bm[byte] == 255) continue; - + for (bit = 0; bit < 8; bit++) { if (!(bm[byte] & (1 << bit))) { vcn = ntfs_ibm_pos_to_vcn(icx, byte * 8 + bit); @@ -974,14 +974,14 @@ static VCN ntfs_ibm_get_free(ntfs_index_context *icx) } } } - + vcn = ntfs_ibm_pos_to_vcn(icx, size * 8); -out: +out: ntfs_log_trace("allocated vcn: %lld\n", (long long)vcn); if (ntfs_ibm_set(icx, vcn)) vcn = (VCN)-1; - + free(bm); return vcn; } @@ -992,23 +992,23 @@ static INDEX_BLOCK *ntfs_ir_to_ib(INDEX_ROOT *ir, VCN ib_vcn) INDEX_ENTRY *ie_last; char *ies_start, *ies_end; int i; - + ntfs_log_trace("Entering\n"); - + ib = ntfs_ib_alloc(ib_vcn, le32_to_cpu(ir->index_block_size), LEAF_NODE); if (!ib) return NULL; - + ies_start = (char *)ntfs_ie_get_first(&ir->index); ies_end = (char *)ntfs_ie_get_end(&ir->index); ie_last = ntfs_ie_get_last((INDEX_ENTRY *)ies_start, ies_end); - /* + /* * Copy all entries, including the termination entry * as well, which can never have any data. */ i = (char *)ie_last - ies_start + le16_to_cpu(ie_last->length); memcpy(ntfs_ie_get_first(&ib->index), ies_start, i); - + ib->index.ih_flags = ir->index.ih_flags; ib->index.index_length = cpu_to_le32(i + le32_to_cpu(ib->index.entries_offset)); @@ -1019,7 +1019,7 @@ static void ntfs_ir_nill(INDEX_ROOT *ir) { INDEX_ENTRY *ie_last; char *ies_start, *ies_end; - + ntfs_log_trace("Entering\n"); /* * TODO: This function could be much simpler. @@ -1027,7 +1027,7 @@ static void ntfs_ir_nill(INDEX_ROOT *ir) ies_start = (char *)ntfs_ie_get_first(&ir->index); ies_end = (char *)ntfs_ie_get_end(&ir->index); ie_last = ntfs_ie_get_last((INDEX_ENTRY *)ies_start, ies_end); - /* + /* * Move the index root termination entry forward */ if ((char *)ie_last > ies_start) { @@ -1043,21 +1043,21 @@ static int ntfs_ib_copy_tail(ntfs_index_context *icx, INDEX_BLOCK *src, INDEX_ENTRY *ie_head; /* first entry after the median */ int tail_size, ret; INDEX_BLOCK *dst; - + ntfs_log_trace("Entering\n"); - - dst = ntfs_ib_alloc(new_vcn, icx->block_size, + + dst = ntfs_ib_alloc(new_vcn, icx->block_size, src->index.ih_flags & NODE_MASK); if (!dst) return STATUS_ERROR; - + ie_head = ntfs_ie_get_next(median); - + ies_end = (u8 *)ntfs_ie_get_end(&src->index); tail_size = ies_end - (u8 *)ie_head; memcpy(ntfs_ie_get_first(&dst->index), ie_head, tail_size); - - dst->index.index_length = cpu_to_le32(tail_size + + + dst->index.index_length = cpu_to_le32(tail_size + le32_to_cpu(dst->index.entries_offset)); ret = ntfs_ib_write(icx, dst); @@ -1070,43 +1070,43 @@ static int ntfs_ib_cut_tail(ntfs_index_context *icx, INDEX_BLOCK *ib, { char *ies_start, *ies_end; INDEX_ENTRY *ie_last; - + ntfs_log_trace("Entering\n"); - + ies_start = (char *)ntfs_ie_get_first(&ib->index); ies_end = (char *)ntfs_ie_get_end(&ib->index); - + ie_last = ntfs_ie_get_last((INDEX_ENTRY *)ies_start, ies_end); if (ie_last->ie_flags & INDEX_ENTRY_NODE) ntfs_ie_set_vcn(ie_last, ntfs_ie_get_vcn(ie)); - + memcpy(ie, ie_last, le16_to_cpu(ie_last->length)); - - ib->index.index_length = cpu_to_le32(((char *)ie - ies_start) + + + ib->index.index_length = cpu_to_le32(((char *)ie - ies_start) + le16_to_cpu(ie->length) + le32_to_cpu(ib->index.entries_offset)); - + if (ntfs_ib_write(icx, ib)) return STATUS_ERROR; - + return STATUS_OK; } - + static int ntfs_ia_add(ntfs_index_context *icx) { ntfs_log_trace("Entering\n"); if (ntfs_ibm_add(icx)) return -1; - + if (!ntfs_attr_exist(icx->ni, AT_INDEX_ALLOCATION, icx->name, icx->name_len)) { - + if (ntfs_attr_add(icx->ni, AT_INDEX_ALLOCATION, icx->name, icx->name_len, NULL, 0)) { ntfs_log_perror("Failed to add AT_INDEX_ALLOCATION"); return -1; } } - + icx->ia_na = ntfs_ia_open(icx, icx->ni); if (!icx->ia_na) return -1; @@ -1125,43 +1125,43 @@ static int ntfs_ir_reparent(ntfs_index_context *icx) int ret = STATUS_ERROR; ntfs_log_trace("Entering\n"); - + ir = ntfs_ir_lookup2(icx->ni, icx->name, icx->name_len); if (!ir) goto out; - + if ((ir->index.ih_flags & NODE_MASK) == SMALL_INDEX) if (ntfs_ia_add(icx)) goto out; - + new_ib_vcn = ntfs_ibm_get_free(icx); if (new_ib_vcn == -1) goto out; - + ir = ntfs_ir_lookup2(icx->ni, icx->name, icx->name_len); if (!ir) goto clear_bmp; - + ib = ntfs_ir_to_ib(ir, new_ib_vcn); if (ib == NULL) { ntfs_log_perror("Failed to move index root to index block"); goto clear_bmp; } - + if (ntfs_ib_write(icx, ib)) goto clear_bmp; - + retry : ir = ntfs_ir_lookup(icx->ni, icx->name, icx->name_len, &ctx); if (!ir) goto clear_bmp; - + ntfs_ir_nill(ir); - + ie = ntfs_ie_get_first(&ir->index); ie->ie_flags |= INDEX_ENTRY_NODE; ie->length = cpu_to_le16(sizeof(INDEX_ENTRY_HEADER) + sizeof(VCN)); - + ir->index.ih_flags = LARGE_INDEX; ir->index.index_length = cpu_to_le32(le32_to_cpu(ir->index.entries_offset) + le16_to_cpu(ie->length)); @@ -1197,7 +1197,7 @@ retry : * so in error case we wouldn't lose the IB. */ ntfs_ie_set_vcn(ie, new_ib_vcn); - + ret = STATUS_OK; err_out: free(ib); @@ -1211,56 +1211,56 @@ clear_bmp: /** * ntfs_ir_truncate - Truncate index root attribute - * + * * Returns STATUS_OK, STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT or STATUS_ERROR. */ static int ntfs_ir_truncate(ntfs_index_context *icx, int data_size) -{ +{ ntfs_attr *na; int ret; ntfs_log_trace("Entering\n"); - + na = ntfs_attr_open(icx->ni, AT_INDEX_ROOT, icx->name, icx->name_len); if (!na) { ntfs_log_perror("Failed to open INDEX_ROOT"); return STATUS_ERROR; } /* - * INDEX_ROOT must be resident and its entries can be moved to + * INDEX_ROOT must be resident and its entries can be moved to * INDEX_BLOCK, so ENOSPC isn't a real error. */ ret = ntfs_attr_truncate(na, data_size + offsetof(INDEX_ROOT, index)); if (ret == STATUS_OK) { - + icx->ir = ntfs_ir_lookup2(icx->ni, icx->name, icx->name_len); if (!icx->ir) return STATUS_ERROR; - + icx->ir->index.allocated_size = cpu_to_le32(data_size); - + } else if (ret == STATUS_ERROR) ntfs_log_perror("Failed to truncate INDEX_ROOT"); - + ntfs_attr_close(na); return ret; } - + /** * ntfs_ir_make_space - Make more space for the index root attribute - * + * * On success return STATUS_OK or STATUS_KEEP_SEARCHING. * On error return STATUS_ERROR. */ static int ntfs_ir_make_space(ntfs_index_context *icx, int data_size) -{ +{ int ret; ntfs_log_trace("Entering\n"); ret = ntfs_ir_truncate(icx, data_size); if (ret == STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT) { - + ret = ntfs_ir_reparent(icx); if (ret == STATUS_OK) ret = STATUS_KEEP_SEARCHING; @@ -1277,31 +1277,31 @@ static int ntfs_ir_make_space(ntfs_index_context *icx, int data_size) static int ntfs_ie_add_vcn(INDEX_ENTRY **ie) { INDEX_ENTRY *p, *old = *ie; - + old->length = cpu_to_le16(le16_to_cpu(old->length) + sizeof(VCN)); p = MEM2_realloc(old, le16_to_cpu(old->length)); if (!p) return STATUS_ERROR; - + p->ie_flags |= INDEX_ENTRY_NODE; *ie = p; return STATUS_OK; } -static int ntfs_ih_insert(INDEX_HEADER *ih, INDEX_ENTRY *orig_ie, VCN new_vcn, +static int ntfs_ih_insert(INDEX_HEADER *ih, INDEX_ENTRY *orig_ie, VCN new_vcn, int pos) { INDEX_ENTRY *ie_node, *ie; int ret = STATUS_ERROR; VCN old_vcn; - + ntfs_log_trace("Entering\n"); - + ie = ntfs_ie_dup(orig_ie); if (!ie) return STATUS_ERROR; - + if (!(ie->ie_flags & INDEX_ENTRY_NODE)) if (ntfs_ie_add_vcn(&ie)) goto out; @@ -1309,13 +1309,13 @@ static int ntfs_ih_insert(INDEX_HEADER *ih, INDEX_ENTRY *orig_ie, VCN new_vcn, ie_node = ntfs_ie_get_by_pos(ih, pos); old_vcn = ntfs_ie_get_vcn(ie_node); ntfs_ie_set_vcn(ie_node, new_vcn); - + ntfs_ie_insert(ih, ie, ie_node); ntfs_ie_set_vcn(ie_node, old_vcn); ret = STATUS_OK; -out: +out: free(ie); - + return ret; } @@ -1335,14 +1335,14 @@ static int ntfs_ir_insert_median(ntfs_index_context *icx, INDEX_ENTRY *median, { u32 new_size; int ret; - + ntfs_log_trace("Entering\n"); - + icx->ir = ntfs_ir_lookup2(icx->ni, icx->name, icx->name_len); if (!icx->ir) return STATUS_ERROR; - new_size = le32_to_cpu(icx->ir->index.index_length) + + new_size = le32_to_cpu(icx->ir->index.index_length) + le16_to_cpu(median->length); if (!(median->ie_flags & INDEX_ENTRY_NODE)) new_size += sizeof(VCN); @@ -1350,12 +1350,12 @@ static int ntfs_ir_insert_median(ntfs_index_context *icx, INDEX_ENTRY *median, ret = ntfs_ir_make_space(icx, new_size); if (ret != STATUS_OK) return ret; - + icx->ir = ntfs_ir_lookup2(icx->ni, icx->name, icx->name_len); if (!icx->ir) return STATUS_ERROR; - return ntfs_ih_insert(&icx->ir->index, median, new_vcn, + return ntfs_ih_insert(&icx->ir->index, median, new_vcn, ntfs_icx_parent_pos(icx)); } @@ -1366,20 +1366,20 @@ static int ntfs_ib_split(ntfs_index_context *icx, INDEX_BLOCK *ib); * On error return STATUS_ERROR. */ static int ntfs_ib_insert(ntfs_index_context *icx, INDEX_ENTRY *ie, VCN new_vcn) -{ +{ INDEX_BLOCK *ib; u32 idx_size, allocated_size; int err = STATUS_ERROR; VCN old_vcn; ntfs_log_trace("Entering\n"); - + ib = ntfs_malloc(icx->block_size); if (!ib) return -1; - + old_vcn = ntfs_icx_parent_vcn(icx); - + if (ntfs_ib_read(icx, old_vcn, ib)) goto err_out; @@ -1392,58 +1392,58 @@ static int ntfs_ib_insert(ntfs_index_context *icx, INDEX_ENTRY *ie, VCN new_vcn) err = STATUS_KEEP_SEARCHING; goto err_out; } - + if (ntfs_ih_insert(&ib->index, ie, new_vcn, ntfs_icx_parent_pos(icx))) goto err_out; - + if (ntfs_ib_write(icx, ib)) goto err_out; - + err = STATUS_OK; -err_out: +err_out: free(ib); return err; } /** * ntfs_ib_split - Split an index block - * + * * On success return STATUS_OK or STATUS_KEEP_SEARCHING. * On error return is STATUS_ERROR. */ static int ntfs_ib_split(ntfs_index_context *icx, INDEX_BLOCK *ib) -{ +{ INDEX_ENTRY *median; VCN new_vcn; int ret; ntfs_log_trace("Entering\n"); - + if (ntfs_icx_parent_dec(icx)) return STATUS_ERROR; - + median = ntfs_ie_get_median(&ib->index); new_vcn = ntfs_ibm_get_free(icx); if (new_vcn == -1) return STATUS_ERROR; - + if (ntfs_ib_copy_tail(icx, ib, median, new_vcn)) { ntfs_ibm_clear(icx, new_vcn); return STATUS_ERROR; } - + if (ntfs_icx_parent_vcn(icx) == VCN_INDEX_ROOT_PARENT) ret = ntfs_ir_insert_median(icx, median, new_vcn); else ret = ntfs_ib_insert(icx, median, new_vcn); - + if (ret != STATUS_OK) { ntfs_ibm_clear(icx, new_vcn); return ret; } - + ret = ntfs_ib_cut_tail(icx, ib, median); - + return ret; } @@ -1453,7 +1453,7 @@ int ntfs_ie_add(ntfs_index_context *icx, INDEX_ENTRY *ie) INDEX_HEADER *ih; int allocated_size, new_size; int ret = STATUS_ERROR; - + #ifdef DEBUG /* removed by JPA to make function usable for security indexes char *fn; @@ -1462,9 +1462,9 @@ int ntfs_ie_add(ntfs_index_context *icx, INDEX_ENTRY *ie) ntfs_attr_name_free(&fn); */ #endif - + while (1) { - + if (!ntfs_index_lookup(&ie->key, le16_to_cpu(ie->key_length), icx)) { errno = EEXIST; ntfs_log_perror("Index already have such entry"); @@ -1474,21 +1474,21 @@ int ntfs_ie_add(ntfs_index_context *icx, INDEX_ENTRY *ie) ntfs_log_perror("Failed to find place for new entry"); goto err_out; } - + if (icx->is_in_root) ih = &icx->ir->index; else ih = &icx->ib->index; - + allocated_size = le32_to_cpu(ih->allocated_size); new_size = le32_to_cpu(ih->index_length) + le16_to_cpu(ie->length); - + if (new_size <= allocated_size) break; - + ntfs_log_trace("index block sizes: allocated: %d needed: %d\n", allocated_size, new_size); - + if (icx->is_in_root) { if (ntfs_ir_make_space(icx, new_size) == STATUS_ERROR) goto err_out; @@ -1496,14 +1496,14 @@ int ntfs_ie_add(ntfs_index_context *icx, INDEX_ENTRY *ie) if (ntfs_ib_split(icx, icx->ib) == STATUS_ERROR) goto err_out; } - + ntfs_inode_mark_dirty(icx->actx->ntfs_ino); ntfs_index_ctx_reinit(icx); } - + ntfs_ie_insert(ih, ie, icx->entry); ntfs_index_entry_mark_dirty(icx); - + ret = STATUS_OK; err_out: ntfs_log_trace("%s\n", ret ? "Failed" : "Done"); @@ -1525,17 +1525,17 @@ int ntfs_index_add_filename(ntfs_inode *ni, FILE_NAME_ATTR *fn, MFT_REF mref) int fn_size, ie_size, err, ret = -1; ntfs_log_trace("Entering\n"); - + if (!ni || !fn) { ntfs_log_error("Invalid arguments.\n"); errno = EINVAL; return -1; } - + fn_size = (fn->file_name_length * sizeof(ntfschar)) + sizeof(FILE_NAME_ATTR); ie_size = (sizeof(INDEX_ENTRY_HEADER) + fn_size + 7) & ~7; - + ie = ntfs_calloc(ie_size); if (!ie) return -1; @@ -1544,11 +1544,11 @@ int ntfs_index_add_filename(ntfs_inode *ni, FILE_NAME_ATTR *fn, MFT_REF mref) ie->length = cpu_to_le16(ie_size); ie->key_length = cpu_to_le16(fn_size); memcpy(&ie->key, fn, fn_size); - + icx = ntfs_index_ctx_get(ni, NTFS_INDEX_I30, 4); if (!icx) goto out; - + ret = ntfs_ie_add(icx, ie); err = errno; ntfs_index_ctx_put(icx); @@ -1563,9 +1563,9 @@ static int ntfs_ih_takeout(ntfs_index_context *icx, INDEX_HEADER *ih, { INDEX_ENTRY *ie_roam; int ret = STATUS_ERROR; - + ntfs_log_trace("Entering\n"); - + ie_roam = ntfs_ie_dup_novcn(ie); if (!ie_roam) return STATUS_ERROR; @@ -1577,7 +1577,7 @@ static int ntfs_ih_takeout(ntfs_index_context *icx, INDEX_HEADER *ih, else if (ntfs_ib_write(icx, ib)) goto out; - + ntfs_index_ctx_reinit(icx); ret = ntfs_ie_add(icx, ie_roam); @@ -1593,36 +1593,36 @@ out: static void ntfs_ir_leafify(ntfs_index_context *icx, INDEX_HEADER *ih) { INDEX_ENTRY *ie; - + ntfs_log_trace("Entering\n"); - + ie = ntfs_ie_get_first(ih); ie->ie_flags &= ~INDEX_ENTRY_NODE; ie->length = cpu_to_le16(le16_to_cpu(ie->length) - sizeof(VCN)); - + ih->index_length = cpu_to_le32(le32_to_cpu(ih->index_length) - sizeof(VCN)); ih->ih_flags &= ~LARGE_INDEX; - + /* Not fatal error */ ntfs_ir_truncate(icx, le32_to_cpu(ih->index_length)); } /** - * Used if an empty index block to be deleted has END entry as the parent + * Used if an empty index block to be deleted has END entry as the parent * in the INDEX_ROOT which is not the only one there. */ static int ntfs_ih_reparent_end(ntfs_index_context *icx, INDEX_HEADER *ih, INDEX_BLOCK *ib) { INDEX_ENTRY *ie, *ie_prev; - + ntfs_log_trace("Entering\n"); - + ie = ntfs_ie_get_by_pos(ih, ntfs_icx_parent_pos(icx)); ie_prev = ntfs_ie_prev(ih, ie); - + ntfs_ie_set_vcn(ie, ntfs_ie_get_vcn(ie_prev)); - + return ntfs_ih_takeout(icx, ih, ie_prev, ib); } @@ -1632,48 +1632,48 @@ static int ntfs_index_rm_leaf(ntfs_index_context *icx) INDEX_HEADER *parent_ih; INDEX_ENTRY *ie; int ret = STATUS_ERROR; - + ntfs_log_trace("pindex: %d\n", icx->pindex); - + if (ntfs_icx_parent_dec(icx)) return STATUS_ERROR; if (ntfs_ibm_clear(icx, icx->parent_vcn[icx->pindex + 1])) return STATUS_ERROR; - + if (ntfs_icx_parent_vcn(icx) == VCN_INDEX_ROOT_PARENT) parent_ih = &icx->ir->index; else { ib = ntfs_malloc(icx->block_size); if (!ib) return STATUS_ERROR; - + if (ntfs_ib_read(icx, ntfs_icx_parent_vcn(icx), ib)) goto out; - + parent_ih = &ib->index; } - + ie = ntfs_ie_get_by_pos(parent_ih, ntfs_icx_parent_pos(icx)); if (!ntfs_ie_end(ie)) { ret = ntfs_ih_takeout(icx, parent_ih, ie, ib); goto out; } - + if (ntfs_ih_zero_entry(parent_ih)) { - + if (ntfs_icx_parent_vcn(icx) == VCN_INDEX_ROOT_PARENT) { ntfs_ir_leafify(icx, parent_ih); goto ok; } - + ret = ntfs_index_rm_leaf(icx); goto out; } - + if (ntfs_ih_reparent_end(icx, parent_ih, ib)) goto out; -ok: +ok: ret = STATUS_OK; out: free(ib); @@ -1691,7 +1691,7 @@ static int ntfs_index_rm_node(ntfs_index_context *icx) int delta, ret = STATUS_ERROR; ntfs_log_trace("Entering\n"); - + if (!icx->ia_na) { icx->ia_na = ntfs_ia_open(icx, icx->ni); if (!icx->ia_na) @@ -1701,7 +1701,7 @@ static int ntfs_index_rm_node(ntfs_index_context *icx) ib = ntfs_malloc(icx->block_size); if (!ib) return STATUS_ERROR; - + ie_succ = ntfs_ie_get_next(icx->entry); entry_pos = icx->parent_pos[icx->pindex]++; pindex = icx->pindex; @@ -1709,12 +1709,12 @@ descend: vcn = ntfs_ie_get_vcn(ie_succ); if (ntfs_ib_read(icx, vcn, ib)) goto out; - + ie_succ = ntfs_ie_get_first(&ib->index); if (ntfs_icx_parent_inc(icx)) goto out; - + icx->parent_vcn[icx->pindex] = vcn; icx->parent_pos[icx->pindex] = 0; @@ -1730,7 +1730,7 @@ descend: ie = ntfs_ie_dup(ie_succ); if (!ie) goto out; - + if (ntfs_ie_add_vcn(&ie)) goto out2; @@ -1748,10 +1748,10 @@ descend: ret = ntfs_ir_make_space(icx, new_size); if (ret != STATUS_OK) goto out2; - + ih = &icx->ir->index; entry = ntfs_ie_get_by_pos(ih, entry_pos); - + } else if (new_size > le32_to_cpu(ih->allocated_size)) { icx->pindex = pindex; ret = ntfs_ib_split(icx, icx->ib); @@ -1763,20 +1763,20 @@ descend: ntfs_ie_delete(ih, entry); ntfs_ie_insert(ih, ie, entry); - + if (icx->is_in_root) { if (ntfs_ir_truncate(icx, new_size)) goto out2; } else if (ntfs_icx_ib_write(icx)) goto out2; - + ntfs_ie_delete(&ib->index, ie_succ); - + if (ntfs_ih_zero_entry(&ib->index)) { if (ntfs_index_rm_leaf(icx)) goto out2; - } else + } else if (ntfs_ib_write(icx, ib)) goto out2; @@ -1792,8 +1792,8 @@ out: * ntfs_index_rm - remove entry from the index * @icx: index context describing entry to delete * - * Delete entry described by @icx from the index. Index context is always - * reinitialized after use of this function, so it can be used for index + * Delete entry described by @icx from the index. Index context is always + * reinitialized after use of this function, so it can be used for index * lookup once again. * * Return 0 on success or -1 on error with errno set to the error code. @@ -1805,7 +1805,7 @@ int ntfs_index_rm(ntfs_index_context *icx) int err, ret = STATUS_OK; ntfs_log_trace("Entering\n"); - + if (!icx || (!icx->ib && !icx->ir) || ntfs_ie_end(icx->entry)) { ntfs_log_error("Invalid arguments.\n"); errno = EINVAL; @@ -1815,15 +1815,15 @@ int ntfs_index_rm(ntfs_index_context *icx) ih = &icx->ir->index; else ih = &icx->ib->index; - + if (icx->entry->ie_flags & INDEX_ENTRY_NODE) { - + ret = ntfs_index_rm_node(icx); } else if (icx->is_in_root || !ntfs_ih_one_entry(ih)) { - + ntfs_ie_delete(ih, icx->entry); - + if (icx->is_in_root) { err = ntfs_ir_truncate(icx, le32_to_cpu(ih->index_length)); if (err != STATUS_OK) @@ -1853,7 +1853,7 @@ int ntfs_index_remove(ntfs_inode *dir_ni, ntfs_inode *ni, return -1; while (1) { - + if (ntfs_index_lookup(key, keylen, icx)) goto err_out; @@ -1869,13 +1869,13 @@ int ntfs_index_remove(ntfs_inode *dir_ni, ntfs_inode *ni, goto err_out; else if (ret == STATUS_OK) break; - + ntfs_inode_mark_dirty(icx->actx->ntfs_ino); ntfs_index_ctx_reinit(icx); } ntfs_inode_mark_dirty(icx->actx->ntfs_ino); -out: +out: ntfs_index_ctx_put(icx); return ret; err_out: @@ -1887,7 +1887,7 @@ err_out: /** * ntfs_index_root_get - read the index root of an attribute * @ni: open ntfs inode in which the ntfs attribute resides - * @attr: attribute for which we want its index root + * @attr: attribute for which we want its index root * * This function will read the related index root an ntfs attribute. * @@ -1906,14 +1906,14 @@ INDEX_ROOT *ntfs_index_root_get(ntfs_inode *ni, ATTR_RECORD *attr) if (!ntfs_ir_lookup(ni, name, attr->name_length, &ctx)) return NULL; - + root = ntfs_malloc(sizeof(INDEX_ROOT)); if (!root) goto out; - + *root = *((INDEX_ROOT *)((u8 *)ctx->attr + le16_to_cpu(ctx->attr->value_offset))); -out: +out: ntfs_attr_put_search_ctx(ctx); return root; } @@ -1945,7 +1945,7 @@ static INDEX_ENTRY *ntfs_index_walk_down(INDEX_ENTRY *ie, } else { /* down from non-zero level */ - + ictx->pindex++; } ictx->parent_pos[ictx->pindex] = 0; diff --git a/portlibs/sources/libcustomntfs/source/inode.c b/portlibs/sources/libcustomntfs/source/inode.c index a4a01348..bdc12a30 100644 --- a/portlibs/sources/libcustomntfs/source/inode.c +++ b/portlibs/sources/libcustomntfs/source/inode.c @@ -124,7 +124,7 @@ ntfs_inode *ntfs_inode_allocate(ntfs_volume *vol) static void __ntfs_inode_release(ntfs_inode *ni) { if (NInoDirty(ni)) - ntfs_log_error("Releasing dirty inode %lld!\n", + ntfs_log_error("Releasing dirty inode %lld!\n", (long long)ni->mft_no); if (NInoAttrList(ni) && ni->attr_list) free(ni->attr_list); @@ -243,7 +243,7 @@ static ntfs_inode *ntfs_inode_real_open(ntfs_volume *vol, const MFT_REF mref) if (l != ni->attr_list_size) { errno = EIO; ntfs_log_perror("Unexpected attrlist size (%lld <> %u), inode " - "%lld", (long long)l, ni->attr_list_size, + "%lld", (long long)l, ni->attr_list_size, (long long)MREF(mref)); goto put_err_out; } @@ -273,7 +273,7 @@ get_size: set_nino_flag(ni,KnownSize); } ntfs_attr_put_search_ctx(ctx); -out: +out: ntfs_log_leave("\n"); return ni; @@ -313,7 +313,7 @@ err_out: int ntfs_inode_real_close(ntfs_inode *ni) { int ret = -1; - + if (!ni) return 0; @@ -365,7 +365,7 @@ int ntfs_inode_real_close(ntfs_inode *ni) */ if (base_ni->nr_extents) { /* Resize the memory buffer. */ - tmp_nis = realloc(tmp_nis, base_ni->nr_extents * + tmp_nis = MEM2_realloc(tmp_nis, base_ni->nr_extents * sizeof(ntfs_inode *)); /* Ignore errors, they don't really matter. */ if (tmp_nis) @@ -378,8 +378,8 @@ int ntfs_inode_real_close(ntfs_inode *ni) i = -1; break; } - - /* + + /* * We could successfully sync, so only log this error * and try to sync other inode extents too. */ @@ -387,7 +387,7 @@ int ntfs_inode_real_close(ntfs_inode *ni) ntfs_log_error("Extent inode %lld was not found\n", (long long)ni->mft_no); } - + __ntfs_inode_release(ni); ret = 0; err: @@ -437,12 +437,13 @@ static int idata_cache_compare(const struct CACHED_GENERIC *cached, void ntfs_inode_invalidate(ntfs_volume *vol, const MFT_REF mref) { struct CACHED_NIDATA item; + int count; item.inum = MREF(mref); item.ni = (ntfs_inode*)NULL; item.pathname = (const char*)NULL; item.varsize = 0; - ntfs_invalidate_cache(vol->nidata_cache, + count = ntfs_invalidate_cache(vol->nidata_cache, GENERIC(&item),idata_cache_compare,CACHE_FREE); } @@ -573,9 +574,6 @@ int ntfs_inode_close(ntfs_inode *ni) ntfs_inode *ntfs_extent_inode_open(ntfs_inode *base_ni, const MFT_REF mref) { u64 mft_no = MREF_LE(mref); - VCN extent_vcn; - runlist_element *rl; - ntfs_volume *vol; ntfs_inode *ni = NULL; ntfs_inode **extent_nis; int i; @@ -585,41 +583,10 @@ ntfs_inode *ntfs_extent_inode_open(ntfs_inode *base_ni, const MFT_REF mref) ntfs_log_perror("%s", __FUNCTION__); return NULL; } - + ntfs_log_enter("Opening extent inode %lld (base mft record %lld).\n", (unsigned long long)mft_no, (unsigned long long)base_ni->mft_no); - - if (!base_ni->mft_no) { - /* - * When getting extents of MFT, we must be sure - * they are in the MFT part which has already - * been mapped, otherwise we fall into an endless - * recursion. - * Situations have been met where extents locations - * are described in themselves. - * This is a severe error which chkdsk cannot fix. - */ - vol = base_ni->vol; - extent_vcn = mft_no << vol->mft_record_size_bits - >> vol->cluster_size_bits; - rl = vol->mft_na->rl; - if (rl) { - while (rl->length - && ((rl->vcn + rl->length) <= extent_vcn)) - rl++; - } - if (!rl || (rl->lcn < 0)) { - ntfs_log_error("MFT is corrupt, cannot read" - " its unmapped extent record %lld\n", - (long long)mft_no); - ntfs_log_error("Note : chkdsk cannot fix this," - " try ntfsfix\n"); - errno = EIO; - ni = (ntfs_inode*)NULL; - goto out; - } - } /* Is the extent inode already open and attached to the base inode? */ if (base_ni->nr_extents > 0) { @@ -833,7 +800,7 @@ static int ntfs_inode_sync_file_name(ntfs_inode *ni, ntfs_inode *dir_ni) if (dir_ni) index_ni = dir_ni; else - index_ni = ntfs_inode_open(ni->vol, + index_ni = ntfs_inode_open(ni->vol, le64_to_cpu(fn->parent_directory)); if (!index_ni) { if (!err) @@ -996,8 +963,8 @@ static int ntfs_inode_sync_in_dir(ntfs_inode *ni, ntfs_inode *dir_ni) } NInoAttrListSetDirty(ni); goto sync_inode; - } - + } + if (na->data_size == ni->attr_list_size) { if (ntfs_attr_pwrite(na, 0, ni->attr_list_size, ni->attr_list) != ni->attr_list_size) { @@ -1019,7 +986,7 @@ static int ntfs_inode_sync_in_dir(ntfs_inode *ni, ntfs_inode *dir_ni) } ntfs_attr_close(na); } - + sync_inode: /* Write this inode out to the $MFT (and $MFTMirr if applicable). */ if (NInoTestAndClearDirty(ni)) { @@ -1045,8 +1012,8 @@ sync_inode: eni = ni->extent_nis[i]; if (!NInoTestAndClearDirty(eni)) continue; - - if (ntfs_mft_record_write(eni->vol, eni->mft_no, + + if (ntfs_mft_record_write(eni->vol, eni->mft_no, eni->mrec)) { if (!err || errno == EIO) { err = errno; @@ -1066,7 +1033,7 @@ sync_inode: errno = err; ret = -1; } - + ntfs_log_leave("\n"); return ret; } @@ -1135,20 +1102,20 @@ int ntfs_inode_add_attrlist(ntfs_inode *ni) } /* Walk through all attributes. */ while (!ntfs_attr_lookup(AT_UNUSED, NULL, 0, 0, 0, NULL, 0, ctx)) { - + int ale_size; - + if (ctx->attr->type == AT_ATTRIBUTE_LIST) { err = EIO; ntfs_log_perror("Attribute list already present"); goto put_err_out; } - + ale_size = (sizeof(ATTR_LIST_ENTRY) + sizeof(ntfschar) * ctx->attr->name_length + 7) & ~7; al_len += ale_size; - - aln = realloc(al, al_len); + + aln = MEM2_realloc(al, al_len); if (!aln) { err = errno; ntfs_log_perror("Failed to realloc %d bytes", al_len); @@ -1156,9 +1123,9 @@ int ntfs_inode_add_attrlist(ntfs_inode *ni) } ale = (ATTR_LIST_ENTRY *)(aln + ((u8 *)ale - al)); al = aln; - + memset(ale, 0, ale_size); - + /* Add attribute to attribute list. */ ale->type = ctx->attr->type; ale->length = cpu_to_le16((sizeof(ATTR_LIST_ENTRY) + @@ -1225,7 +1192,7 @@ int ntfs_inode_add_attrlist(ntfs_inode *ni) ntfs_attr_close(na); goto remove_attrlist_record;; } - + ntfs_attr_put_search_ctx(ctx); ntfs_attr_close(na); return 0; @@ -1326,12 +1293,12 @@ int ntfs_inode_free_space(ntfs_inode *ni, int size) * find next, because we don't need such. */ while (ctx->ntfs_ino->mft_no != ni->mft_no) { -retry: +retry: if (ntfs_attr_position(AT_UNUSED, ctx)) goto put_err_out; } - if (ntfs_inode_base(ctx->ntfs_ino)->mft_no == FILE_MFT && + if (ntfs_inode_base(ctx->ntfs_ino)->mft_no == FILE_MFT && ctx->attr->type == AT_DATA) goto retry; @@ -1352,10 +1319,10 @@ retry: return 0; } /* - * Reposition to first attribute after $STANDARD_INFORMATION - * and $ATTRIBUTE_LIST instead of simply skipping this attribute - * because in the case when we have got only in-memory attribute - * list then ntfs_attr_lookup will fail when it tries to find + * Reposition to first attribute after $STANDARD_INFORMATION + * and $ATTRIBUTE_LIST instead of simply skipping this attribute + * because in the case when we have got only in-memory attribute + * list then ntfs_attr_lookup will fail when it tries to find * $ATTRIBUTE_LIST. */ ntfs_attr_reinit_search_ctx(ctx); @@ -1397,7 +1364,7 @@ void ntfs_inode_update_times(ntfs_inode *ni, ntfs_time_update_flags mask) ni->last_data_change_time = now; if (mask & NTFS_UPDATE_CTIME) ni->last_mft_change_time = now; - + NInoFileNameSetDirty(ni); NInoSetDirty(ni); } @@ -1410,7 +1377,7 @@ void ntfs_inode_update_times(ntfs_inode *ni, ntfs_time_update_flags mask) * Check if the mft record given by @mft_no and @attr contains the bad sector * list. Please note that mft record numbers describing $Badclus extent inodes * will not match the current $Badclus:$Bad check. - * + * * On success return 1 if the file is $Badclus:$Bad, otherwise return 0. * On error return -1 with errno set to the error code. */ @@ -1424,7 +1391,7 @@ int ntfs_inode_badclus_bad(u64 mft_no, ATTR_RECORD *attr) errno = EINVAL; return -1; } - + if (mft_no != FILE_BadClus) return 0; @@ -1498,7 +1465,7 @@ int ntfs_inode_get_times(ntfs_inode *ni, char *value, size_t size) ret = -ERANGE; } ntfs_attr_put_search_ctx(ctx); - } + } return (ret ? ret : -errno); } diff --git a/portlibs/sources/libcustomntfs/source/layout.h b/portlibs/sources/libcustomntfs/source/layout.h index c167135f..daff97d1 100644 --- a/portlibs/sources/libcustomntfs/source/layout.h +++ b/portlibs/sources/libcustomntfs/source/layout.h @@ -2223,11 +2223,11 @@ typedef struct { /* The below field is NOT present for the quota defaults entry. */ SID sid; /* The SID of the user/object associated with this quota entry. If this field is missing - then the INDEX_ENTRY is padded to a multiple - of 8 with zeros which are not counted in + then the INDEX_ENTRY is padded with zeros + to multiply of 8 which are not counted in the data_length field. If the sid is present then this structure is padded with zeros to - a multiple of 8 and the padding is counted in + multiply of 8 and the padding is counted in the INDEX_ENTRY's data_length. */ } __attribute__((__packed__)) QUOTA_CONTROL_ENTRY; diff --git a/portlibs/sources/libcustomntfs/source/lcnalloc.c b/portlibs/sources/libcustomntfs/source/lcnalloc.c index 23bbb23d..a27d43a1 100644 --- a/portlibs/sources/libcustomntfs/source/lcnalloc.c +++ b/portlibs/sources/libcustomntfs/source/lcnalloc.c @@ -48,7 +48,7 @@ /* * Plenty possibilities for big optimizations all over in the cluster - * allocation, however at the moment the dominant bottleneck (~ 90%) is + * allocation, however at the moment the dominant bottleneck (~ 90%) is * the update of the mapping pairs which converges to the cubic Faulhaber's * formula as the function of the number of extents (fragments, runs). */ @@ -74,7 +74,7 @@ static void ntfs_cluster_set_zone_pos(LCN start, LCN end, LCN *pos, LCN tc) static void ntfs_cluster_update_zone_pos(ntfs_volume *vol, u8 zone, LCN tc) { ntfs_log_trace("tc = %lld, zone = %d\n", (long long)tc, zone); - + if (zone == ZONE_MFT) ntfs_cluster_set_zone_pos(vol->mft_lcn, vol->mft_zone_end, &vol->mft_zone_pos, tc); @@ -82,7 +82,7 @@ static void ntfs_cluster_update_zone_pos(ntfs_volume *vol, u8 zone, LCN tc) ntfs_cluster_set_zone_pos(vol->mft_zone_end, vol->nr_clusters, &vol->data1_zone_pos, tc); else /* zone == ZONE_DATA2 */ - ntfs_cluster_set_zone_pos(0, vol->mft_zone_start, + ntfs_cluster_set_zone_pos(0, vol->mft_zone_start, &vol->data2_zone_pos, tc); } @@ -112,15 +112,15 @@ static void update_full_status(ntfs_volume *vol, LCN lcn) } } } - + static s64 max_empty_bit_range(unsigned char *buf, int size) { int i, j, run = 0; int max_range = 0; s64 start_pos = -1; - + ntfs_log_trace("Entering\n"); - + i = 0; while (i < size) { switch (*buf) { @@ -144,42 +144,42 @@ static s64 max_empty_bit_range(unsigned char *buf, int size) break; default : for (j = 0; j < 8; j++) { - + int bit = *buf & (1 << j); - + if (bit) { if (run > max_range) { max_range = run; start_pos = (s64)i * 8 + (j - run); } run = 0; - } else + } else run++; } i++; buf++; - + } } - + if (run > max_range) start_pos = (s64)i * 8 - run; - + return start_pos; } -static int bitmap_writeback(ntfs_volume *vol, s64 pos, s64 size, void *b, +static int bitmap_writeback(ntfs_volume *vol, s64 pos, s64 size, void *b, u8 *writeback) { s64 written; - + ntfs_log_trace("Entering\n"); - + if (!*writeback) return 0; - + *writeback = 0; - + written = ntfs_attr_pwrite(vol->lcnbmp_na, pos, size, b); if (written != size) { if (!written) @@ -220,16 +220,16 @@ static int bitmap_writeback(ntfs_volume *vol, s64 pos, s64 size, void *b, * expanded to cover the start of the volume in order to reserve space for the * mft bitmap attribute. * - * The complexity stems from the need of implementing the mft vs data zoned - * approach and from the fact that we have access to the lcn bitmap via up to - * NTFS_LCNALLOC_BSIZE bytes at a time, so we need to cope with crossing over - * boundaries of two buffers. Further, the fact that the allocator allows for - * caller supplied hints as to the location of where allocation should begin - * and the fact that the allocator keeps track of where in the data zones the - * next natural allocation should occur, contribute to the complexity of the - * function. But it should all be worthwhile, because this allocator: + * The complexity stems from the need of implementing the mft vs data zoned + * approach and from the fact that we have access to the lcn bitmap via up to + * NTFS_LCNALLOC_BSIZE bytes at a time, so we need to cope with crossing over + * boundaries of two buffers. Further, the fact that the allocator allows for + * caller supplied hints as to the location of where allocation should begin + * and the fact that the allocator keeps track of where in the data zones the + * next natural allocation should occur, contribute to the complexity of the + * function. But it should all be worthwhile, because this allocator: * 1) implements MFT zone reservation - * 2) causes reduction in fragmentation. + * 2) causes reduction in fragmentation. * The code is not optimized for speed. */ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, @@ -251,12 +251,12 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, ntfs_log_enter("Entering with count = 0x%llx, start_lcn = 0x%llx, " "zone = %s_ZONE.\n", (long long)count, (long long) start_lcn, zone == MFT_ZONE ? "MFT" : "DATA"); - + if (!vol || count < 0 || start_lcn < -1 || !vol->lcnbmp_na || (s8)zone < FIRST_ZONE || zone > LAST_ZONE) { errno = EINVAL; - ntfs_log_perror("%s: vcn: %lld, count: %lld, lcn: %lld", - __FUNCTION__, (long long)start_vcn, + ntfs_log_perror("%s: vcn: %lld, count: %lld, lcn: %lld", + __FUNCTION__, (long long)start_vcn, (long long)count, (long long)start_lcn); goto out; } @@ -281,7 +281,7 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, */ has_guess = 1; zone_start = start_lcn; - + if (zone_start < 0) { if (zone == DATA_ZONE) zone_start = vol->data1_zone_pos; @@ -289,13 +289,13 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, zone_start = vol->mft_zone_pos; has_guess = 0; } - + used_zone_pos = has_guess ? 0 : 1; - + if (!zone_start || zone_start == vol->mft_zone_start || zone_start == vol->mft_zone_end) pass = 2; - + if (zone_start < vol->mft_zone_start) { zone_end = vol->mft_zone_start; search_zone = ZONE_DATA2; @@ -306,7 +306,7 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, zone_end = vol->nr_clusters; search_zone = ZONE_DATA1; } - + bmp_pos = zone_start; /* Loop until all clusters are allocated. */ @@ -317,7 +317,7 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, if (search_zone & vol->full_zones) goto zone_pass_done; last_read_pos = bmp_pos >> 3; - br = ntfs_attr_pread(vol->lcnbmp_na, last_read_pos, + br = ntfs_attr_pread(vol->lcnbmp_na, last_read_pos, NTFS_LCNALLOC_BSIZE, buf); if (br <= 0) { if (!br) @@ -334,7 +334,7 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, lcn = bmp_pos & 7; bmp_pos &= ~7; writeback = 0; - + while (lcn < buf_size) { byte = buf + (lcn >> 3); bit = 1 << (lcn & 7); @@ -352,7 +352,7 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, } /* First free bit is at lcn + bmp_pos. */ - + /* Reallocate memory if necessary. */ if ((rlpos + 2) * (int)sizeof(runlist) >= rlsize) { rlsize += 4096; @@ -364,17 +364,17 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, } rl = trl; } - + /* Allocate the bitmap bit. */ *byte |= bit; writeback = 1; - if (vol->free_clusters <= 0) + if (vol->free_clusters <= 0) ntfs_log_error("Non-positive free clusters " "(%lld)!\n", (long long)vol->free_clusters); - else - vol->free_clusters--; - + else + vol->free_clusters--; + /* * Coalesce with previous run if adjacent LCNs. * Otherwise, append a new run. @@ -382,9 +382,9 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, if (prev_lcn == lcn + bmp_pos - prev_run_len && rlpos) { ntfs_log_debug("Cluster coalesce: prev_lcn: " "%lld lcn: %lld bmp_pos: %lld " - "prev_run_len: %lld\n", - (long long)prev_lcn, - (long long)lcn, (long long)bmp_pos, + "prev_run_len: %lld\n", + (long long)prev_lcn, + (long long)lcn, (long long)bmp_pos, (long long)prev_run_len); rl[rlpos - 1].length = ++prev_run_len; } else { @@ -393,54 +393,54 @@ runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count, prev_run_len; else { rl[rlpos].vcn = start_vcn; - ntfs_log_debug("Start_vcn: %lld\n", + ntfs_log_debug("Start_vcn: %lld\n", (long long)start_vcn); } - + rl[rlpos].lcn = prev_lcn = lcn + bmp_pos; rl[rlpos].length = prev_run_len = 1; rlpos++; } - - ntfs_log_debug("RUN: %-16lld %-16lld %-16lld\n", - (long long)rl[rlpos - 1].vcn, - (long long)rl[rlpos - 1].lcn, + + ntfs_log_debug("RUN: %-16lld %-16lld %-16lld\n", + (long long)rl[rlpos - 1].vcn, + (long long)rl[rlpos - 1].lcn, (long long)rl[rlpos - 1].length); /* Done? */ if (!--clusters) { if (used_zone_pos) - ntfs_cluster_update_zone_pos(vol, + ntfs_cluster_update_zone_pos(vol, search_zone, lcn + bmp_pos + 1 + NTFS_LCNALLOC_SKIP); goto done_ret; } - + lcn++; } - + if (bitmap_writeback(vol, last_read_pos, br, buf, &writeback)) { err = errno; goto err_ret; } - + if (!used_zone_pos) { - + used_zone_pos = 1; - + if (search_zone == ZONE_MFT) zone_start = vol->mft_zone_pos; else if (search_zone == ZONE_DATA1) zone_start = vol->data1_zone_pos; else zone_start = vol->data2_zone_pos; - + if (!zone_start || zone_start == vol->mft_zone_start || zone_start == vol->mft_zone_end) pass = 2; bmp_pos = zone_start; } else bmp_pos += buf_size; - + if (bmp_pos < zone_end) continue; @@ -449,22 +449,22 @@ zone_pass_done: if (pass == 1) { pass = 2; zone_end = zone_start; - + if (search_zone == ZONE_MFT) zone_start = vol->mft_zone_start; else if (search_zone == ZONE_DATA1) zone_start = vol->mft_zone_end; else zone_start = 0; - + /* Sanity check. */ if (zone_end < zone_start) zone_end = zone_start; - + bmp_pos = zone_start; - + continue; - } + } /* pass == 2 */ done_zones_check: done_zones |= search_zone; @@ -473,14 +473,14 @@ done_zones_check: ntfs_log_trace("Switching zone.\n"); pass = 1; if (rlpos) { - LCN tc = rl[rlpos - 1].lcn + + LCN tc = rl[rlpos - 1].lcn + rl[rlpos - 1].length + NTFS_LCNALLOC_SKIP; - + if (used_zone_pos) - ntfs_cluster_update_zone_pos(vol, + ntfs_cluster_update_zone_pos(vol, search_zone, tc); } - + switch (search_zone) { case ZONE_MFT: ntfs_log_trace("Zone switch: mft -> data1\n"); @@ -511,17 +511,17 @@ switch_to_data1_zone: search_zone = ZONE_DATA1; pass = 2; break; } - + bmp_pos = zone_start; - + if (zone_start == zone_end) { ntfs_log_trace("Empty zone, skipped.\n"); goto done_zones_check; } - + continue; } - + ntfs_log_trace("All zones are finished, no space on device.\n"); err = ENOSPC; goto err_ret; @@ -543,7 +543,7 @@ done_err_ret: ntfs_log_perror("Failed to allocate clusters"); rl = NULL; } -out: +out: ntfs_log_leave("\n"); return rl; @@ -585,26 +585,26 @@ int ntfs_cluster_free_from_rl(ntfs_volume *vol, runlist *rl) ntfs_log_trace("Dealloc lcn 0x%llx, len 0x%llx.\n", (long long)rl->lcn, (long long)rl->length); - if (rl->lcn >= 0) { + if (rl->lcn >= 0) { update_full_status(vol,rl->lcn); - if (ntfs_bitmap_clear_run(vol->lcnbmp_na, rl->lcn, + if (ntfs_bitmap_clear_run(vol->lcnbmp_na, rl->lcn, rl->length)) { ntfs_log_perror("Cluster deallocation failed " "(%lld, %lld)", - (long long)rl->lcn, + (long long)rl->lcn, (long long)rl->length); goto out; } - nr_freed += rl->length ; + nr_freed += rl->length ; } } ret = 0; out: - vol->free_clusters += nr_freed; + vol->free_clusters += nr_freed; if (vol->free_clusters > vol->nr_clusters) ntfs_log_error("Too many free clusters (%lld > %lld)!", - (long long)vol->free_clusters, + (long long)vol->free_clusters, (long long)vol->nr_clusters); return ret; } @@ -623,24 +623,24 @@ int ntfs_cluster_free_basic(ntfs_volume *vol, s64 lcn, s64 count) ntfs_log_trace("Dealloc lcn 0x%llx, len 0x%llx.\n", (long long)lcn, (long long)count); - if (lcn >= 0) { + if (lcn >= 0) { update_full_status(vol,lcn); - if (ntfs_bitmap_clear_run(vol->lcnbmp_na, lcn, + if (ntfs_bitmap_clear_run(vol->lcnbmp_na, lcn, count)) { ntfs_log_perror("Cluster deallocation failed " "(%lld, %lld)", - (long long)lcn, + (long long)lcn, (long long)count); goto out; } - nr_freed += count; + nr_freed += count; } ret = 0; out: vol->free_clusters += nr_freed; if (vol->free_clusters > vol->nr_clusters) ntfs_log_error("Too many free clusters (%lld > %lld)!", - (long long)vol->free_clusters, + (long long)vol->free_clusters, (long long)vol->nr_clusters); return ret; } @@ -673,7 +673,7 @@ int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count) errno = EINVAL; return -1; } - + ntfs_log_enter("Entering for inode 0x%llx, attr 0x%x, count 0x%llx, " "vcn 0x%llx.\n", (unsigned long long)na->ni->mft_no, na->type, (long long)count, (long long)start_vcn); @@ -687,7 +687,7 @@ int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count) if (rl->lcn < 0 && rl->lcn != LCN_HOLE) { errno = EIO; - ntfs_log_perror("%s: Unexpected lcn (%lld)", __FUNCTION__, + ntfs_log_perror("%s: Unexpected lcn (%lld)", __FUNCTION__, (long long)rl->lcn); goto leave; } @@ -707,7 +707,7 @@ int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count) to_free)) goto leave; nr_freed = to_free; - } + } /* Go to the next run and adjust the number of clusters left to free. */ ++rl; @@ -724,7 +724,7 @@ int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count) if (rl->lcn < 0 && rl->lcn != LCN_HOLE) { // FIXME: Eeek! We need rollback! (AIA) errno = EIO; - ntfs_log_perror("%s: Invalid lcn (%lli)", + ntfs_log_perror("%s: Invalid lcn (%lli)", __FUNCTION__, (long long)rl->lcn); goto out; } @@ -760,12 +760,12 @@ int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count) ret = nr_freed; out: - vol->free_clusters += nr_freed ; + vol->free_clusters += nr_freed ; if (vol->free_clusters > vol->nr_clusters) ntfs_log_error("Too many free clusters (%lld > %lld)!", - (long long)vol->free_clusters, + (long long)vol->free_clusters, (long long)vol->nr_clusters); -leave: +leave: ntfs_log_leave("\n"); return ret; } diff --git a/portlibs/sources/libcustomntfs/source/logfile.c b/portlibs/sources/libcustomntfs/source/logfile.c index 53d8d68e..0f8bce96 100644 --- a/portlibs/sources/libcustomntfs/source/logfile.c +++ b/portlibs/sources/libcustomntfs/source/logfile.c @@ -468,7 +468,7 @@ BOOL ntfs_check_logfile(ntfs_attr *log_na, RESTART_PAGE_HEADER **rp) u8 *kaddr = NULL; RESTART_PAGE_HEADER *rstr1_ph = NULL; RESTART_PAGE_HEADER *rstr2_ph = NULL; - int log_page_size, err; + int log_page_size, log_page_mask, err; BOOL logfile_is_empty = TRUE; u8 log_page_bits; @@ -481,6 +481,7 @@ BOOL ntfs_check_logfile(ntfs_attr *log_na, RESTART_PAGE_HEADER **rp) if (size > (s64)MaxLogFileSize) size = MaxLogFileSize; log_page_size = DefaultLogPageSize; + log_page_mask = log_page_size - 1; /* * Use generic_ffs() instead of ffs() to enable the compiler to * optimize log_page_size and log_page_bits into constants. @@ -702,7 +703,7 @@ int ntfs_empty_logfile(ntfs_attr *na) char buf[NTFS_BUF_SIZE]; ntfs_log_trace("Entering.\n"); - + if (NVolLogFileEmpty(na->ni->vol)) return 0; @@ -716,7 +717,7 @@ int ntfs_empty_logfile(ntfs_attr *na) pos = 0; while ((count = na->data_size - pos) > 0) { - + if (count > NTFS_BUF_SIZE) count = NTFS_BUF_SIZE; @@ -732,6 +733,6 @@ int ntfs_empty_logfile(ntfs_attr *na) } NVolSetLogFileEmpty(na->ni->vol); - + return 0; } diff --git a/portlibs/sources/libcustomntfs/source/mft.c b/portlibs/sources/libcustomntfs/source/mft.c index 0640efe9..e93c6646 100644 --- a/portlibs/sources/libcustomntfs/source/mft.c +++ b/portlibs/sources/libcustomntfs/source/mft.c @@ -216,10 +216,8 @@ int ntfs_mft_record_check(const ntfs_volume *vol, const MFT_REF mref, int ret = -1; if (!ntfs_is_file_record(m->magic)) { - if (!NVolNoFixupWarn(vol)) - ntfs_log_error("Record %llu has no FILE magic (0x%x)\n", - (unsigned long long)MREF(mref), - (int)le32_to_cpu(*(le32*)m)); + ntfs_log_error("Record %llu has no FILE magic (0x%x)\n", + (unsigned long long)MREF(mref), *(le32 *)m); goto err_out; } @@ -1192,7 +1190,7 @@ undo_alloc: static int ntfs_mft_record_init(ntfs_volume *vol, s64 size) { int ret = -1; - ntfs_attr *mft_na; + ntfs_attr *mft_na, *mftbmp_na; s64 old_data_initialized, old_data_size; ntfs_attr_search_ctx *ctx; @@ -1201,6 +1199,7 @@ static int ntfs_mft_record_init(ntfs_volume *vol, s64 size) /* NOTE: Caller must sanity check vol, vol->mft_na and vol->mftbmp_na */ mft_na = vol->mft_na; + mftbmp_na = vol->mftbmp_na; /* * The mft record is outside the initialized data. Extend the mft data @@ -1296,13 +1295,14 @@ undo_data_init: static int ntfs_mft_rec_init(ntfs_volume *vol, s64 size) { int ret = -1; - ntfs_attr *mft_na; + ntfs_attr *mft_na, *mftbmp_na; s64 old_data_initialized, old_data_size; ntfs_attr_search_ctx *ctx; ntfs_log_enter("Entering\n"); mft_na = vol->mft_na; + mftbmp_na = vol->mftbmp_na; if (size > mft_na->allocated_size || size > mft_na->initialized_size) { errno = EIO; diff --git a/portlibs/sources/libcustomntfs/source/mst.c b/portlibs/sources/libcustomntfs/source/mst.c index b7937b7a..470942d6 100644 --- a/portlibs/sources/libcustomntfs/source/mst.c +++ b/portlibs/sources/libcustomntfs/source/mst.c @@ -47,8 +47,7 @@ * EIO Multi sector transfer error was detected. Magic of the NTFS * record in @b will have been set to "BAAD". */ -int ntfs_mst_post_read_fixup_warn(NTFS_RECORD *b, const u32 size, - BOOL warn) +int ntfs_mst_post_read_fixup(NTFS_RECORD *b, const u32 size) { u16 usa_ofs, usa_count, usn; u16 *usa_pos, *data_pos; @@ -64,14 +63,9 @@ int ntfs_mst_post_read_fixup_warn(NTFS_RECORD *b, const u32 size, (u32)(usa_ofs + (usa_count * 2)) > size || (size >> NTFS_BLOCK_SIZE_BITS) != usa_count) { errno = EINVAL; - if (warn) { - ntfs_log_perror("%s: magic: 0x%08lx size: %ld " - " usa_ofs: %d usa_count: %u", - __FUNCTION__, - (long)le32_to_cpu(*(le32 *)b), - (long)size, (int)usa_ofs, - (unsigned int)usa_count); - } + ntfs_log_perror("%s: magic: 0x%08x size: %d usa_ofs: %d " + "usa_count: %d", __FUNCTION__, *(le32 *)b, + size, usa_ofs, usa_count); return -1; } /* Position of usn in update sequence array. */ @@ -124,16 +118,6 @@ int ntfs_mst_post_read_fixup_warn(NTFS_RECORD *b, const u32 size, return 0; } -/* - * Deprotect multi sector transfer protected data - * with a warning if an error is found. - */ - -int ntfs_mst_post_read_fixup(NTFS_RECORD *b, const u32 size) -{ - return (ntfs_mst_post_read_fixup_warn(b,size,TRUE)); -} - /** * ntfs_mst_pre_write_fixup - apply multi sector transfer protection * @b: pointer to the data to protect diff --git a/portlibs/sources/libcustomntfs/source/mst.h b/portlibs/sources/libcustomntfs/source/mst.h index d6ca6f27..ca813821 100644 --- a/portlibs/sources/libcustomntfs/source/mst.h +++ b/portlibs/sources/libcustomntfs/source/mst.h @@ -25,11 +25,8 @@ #include "types.h" #include "layout.h" -#include "volume.h" extern int ntfs_mst_post_read_fixup(NTFS_RECORD *b, const u32 size); -extern int ntfs_mst_post_read_fixup_warn(NTFS_RECORD *b, const u32 size, - BOOL warn); extern int ntfs_mst_pre_write_fixup(NTFS_RECORD *b, const u32 size); extern void ntfs_mst_post_write_fixup(NTFS_RECORD *b); diff --git a/portlibs/sources/libcustomntfs/source/ntfstime.h b/portlibs/sources/libcustomntfs/source/ntfstime.h index 21c222d9..426269d7 100644 --- a/portlibs/sources/libcustomntfs/source/ntfstime.h +++ b/portlibs/sources/libcustomntfs/source/ntfstime.h @@ -36,18 +36,6 @@ #include "types.h" -#ifndef GEKKO -/* - * assume "struct timespec" is not defined if st_mtime is not defined - */ -#if !defined(st_mtime) & !defined(__timespec_defined) -struct timespec { - time_t tv_sec; - long tv_nsec; -} ; -#endif -#endif - /* * There are four times more conversions of internal representation * to ntfs representation than any other conversion, so the most diff --git a/portlibs/sources/libcustomntfs/source/object_id.c b/portlibs/sources/libcustomntfs/source/object_id.c index 059e8822..8799ddba 100644 --- a/portlibs/sources/libcustomntfs/source/object_id.c +++ b/portlibs/sources/libcustomntfs/source/object_id.c @@ -287,6 +287,7 @@ static int remove_object_id_index(ntfs_attr *na, ntfs_index_context *xo, if (size >= (s64)sizeof(GUID)) { memcpy(&key.object_id, &old_attr->object_id,sizeof(GUID)); + size = sizeof(GUID); if (!ntfs_index_lookup(&key, sizeof(OBJECT_ID_INDEX_KEY), xo)) { entry = (struct OBJECT_ID_INDEX*)xo->entry; @@ -299,6 +300,7 @@ static int remove_object_id_index(ntfs_attr *na, ntfs_index_context *xo, memcpy(&old_attr->domain_id, &entry->data.domain_id, sizeof(GUID)); + size = sizeof(OBJECT_ID_ATTR); if (ntfs_index_rm(xo)) ret = -1; } diff --git a/portlibs/sources/libcustomntfs/source/param.h b/portlibs/sources/libcustomntfs/source/param.h index c3675b72..7420c79f 100644 --- a/portlibs/sources/libcustomntfs/source/param.h +++ b/portlibs/sources/libcustomntfs/source/param.h @@ -50,19 +50,6 @@ enum { /* maximum cluster size for allowing compression for new files */ #define MAX_COMPRESSION_CLUSTER_SIZE 4096 -/* - * Use of big write buffers - * - * With small volumes, the cluster allocator may fail to allocate - * enough clusters when the volume is nearly full. At most a run - * can be allocated per bitmap chunk. So, there is a danger when the - * number of chunks (capacity/(32768*clsiz)) is less than the number - * of clusters in the biggest write buffer (131072/clsiz). Hence - * a safe minimal capacity is 4GB - */ - -#define SAFE_CAPACITY_FOR_BIG_WRITES 0x100000000LL - /* * Parameters for runlists */ @@ -76,11 +63,6 @@ enum { #define XATTRMAPPINGFILE ".NTFS-3G/XattrMapping" /* default mapping file */ -/* - * Parameters for path canonicalization - */ - -#define MAPPERNAMELTH 256 /* * Permission checking modes for high level and low level diff --git a/portlibs/sources/libcustomntfs/source/runlist.c b/portlibs/sources/libcustomntfs/source/runlist.c index 7e158d44..383a80b2 100644 --- a/portlibs/sources/libcustomntfs/source/runlist.c +++ b/portlibs/sources/libcustomntfs/source/runlist.c @@ -136,10 +136,9 @@ runlist_element *ntfs_rl_extend(ntfs_attr *na, runlist_element *rl, if (!newrl) { errno = ENOMEM; rl = (runlist_element*)NULL; - } else { + } else na->rl = newrl; rl = &newrl[irl]; - } } else { ntfs_log_error("Cannot extend unmapped runlist"); errno = EIO; @@ -1624,7 +1623,7 @@ errno_set: int ntfs_rl_truncate(runlist **arl, const VCN start_vcn) { runlist *rl; - /* BOOL is_end = FALSE; */ + BOOL is_end = FALSE; if (!arl || !*arl) { errno = EINVAL; @@ -1667,10 +1666,8 @@ int ntfs_rl_truncate(runlist **arl, const VCN start_vcn) */ if (rl->length) { ++rl; -/* if (!rl->length) is_end = TRUE; -*/ rl->vcn = start_vcn; rl->length = 0; } @@ -1678,7 +1675,7 @@ int ntfs_rl_truncate(runlist **arl, const VCN start_vcn) /** * Reallocate memory if necessary. * FIXME: Below code is broken, because runlist allocations must be - * a multiple of 4096. The code caused crashes and corruptions. + * a multiply of 4096. The code caused crashes and corruptions. */ /* if (!is_end) { diff --git a/portlibs/sources/libcustomntfs/source/security.c b/portlibs/sources/libcustomntfs/source/security.c index 5e70c214..c7a87efb 100644 --- a/portlibs/sources/libcustomntfs/source/security.c +++ b/portlibs/sources/libcustomntfs/source/security.c @@ -127,8 +127,8 @@ struct SDH { /* this is an image of an $SDH index entry */ static ntfschar sii_stream[] = { const_cpu_to_le16('$'), const_cpu_to_le16('S'), - const_cpu_to_le16('I'), - const_cpu_to_le16('I'), + const_cpu_to_le16('I'), + const_cpu_to_le16('I'), const_cpu_to_le16(0) }; static ntfschar sdh_stream[] = { const_cpu_to_le16('$'), const_cpu_to_le16('S'), @@ -684,7 +684,7 @@ static le32 entersecurityattr(ntfs_volume *vol, retries = 0; while (entry) { next = ntfs_index_next(entry,xsii); - if (next) { + if (next) { psii = (struct SII*)next; /* save last key and */ /* available position */ @@ -1024,7 +1024,7 @@ static int update_secur_descr(ntfs_volume *vol, * This is intended to allow graceful upgrades for files which * were created in previous versions, with a security attributes * and no security id. - * + * * It will allocate a security id and replace the individual * security attribute by a reference to the global one * @@ -1064,6 +1064,7 @@ static int upgrade_secur_desc(ntfs_volume *vol, na = ntfs_attr_open(ni, AT_STANDARD_INFORMATION, AT_UNNAMED, 0); if (na) { + res = 0; /* expand standard information attribute to v3.x */ res = ntfs_attr_truncate(na, (s64)sizeof(STANDARD_INFORMATION)); @@ -1372,7 +1373,7 @@ static int leg_compare(const struct CACHED_PERMISSIONS_LEGACY *cached, /* * Resize permission cache table * do not call unless resizing is needed - * + * * If allocation fails, the cache size is not updated * Lack of memory is not considered as an error, the cache is left * consistent and errno is not set. @@ -1468,7 +1469,7 @@ static struct CACHED_PERMISSIONS *enter_cache(struct SECURITY_CONTEXT *scx, if (pxdesc) { pxsize = sizeof(struct POSIX_SECURITY) + (pxdesc->acccnt + pxdesc->defcnt)*sizeof(struct POSIX_ACE); - pxcached = (struct POSIX_SECURITY*)malloc(pxsize); + pxcached = (struct POSIX_SECURITY*)ntfs_malloc(pxsize); if (pxcached) { memcpy(pxcached, pxdesc, pxsize); cacheentry->pxdesc = pxcached; @@ -1499,7 +1500,7 @@ static struct CACHED_PERMISSIONS *enter_cache(struct SECURITY_CONTEXT *scx, /* allocate block, if cache table was allocated */ if (pcache && (index1 <= pcache->head.last)) { cacheblock = (struct CACHED_PERMISSIONS*) - malloc(sizeof(struct CACHED_PERMISSIONS) + ntfs_malloc(sizeof(struct CACHED_PERMISSIONS) << CACHE_PERMISSIONS_BITS); pcache->cachetable[index1] = cacheblock; for (i=0; i<(1 << CACHE_PERMISSIONS_BITS); i++) @@ -1512,7 +1513,7 @@ static struct CACHED_PERMISSIONS *enter_cache(struct SECURITY_CONTEXT *scx, if (pxdesc) { pxsize = sizeof(struct POSIX_SECURITY) + (pxdesc->acccnt + pxdesc->defcnt)*sizeof(struct POSIX_ACE); - pxcached = (struct POSIX_SECURITY*)malloc(pxsize); + pxcached = (struct POSIX_SECURITY*)ntfs_malloc(pxsize); if (pxcached) { memcpy(pxcached, pxdesc, pxsize); cacheentry->pxdesc = pxcached; @@ -2002,7 +2003,7 @@ static int ntfs_get_perm(struct SECURITY_CONTEXT *scx, */ int ntfs_get_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, - const char *name, char *value, size_t size) + const char *name, char *value, size_t size) { const SECURITY_DESCRIPTOR_RELATIVE *phead; struct POSIX_SECURITY *pxdesc; @@ -2012,6 +2013,7 @@ int ntfs_get_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, const SID *gsid; /* group of file/directory */ uid_t uid; gid_t gid; + int perm; BOOL isdir; size_t outsize; @@ -2046,6 +2048,7 @@ int ntfs_get_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, * fetch owner and group for cacheing */ if (pxdesc) { + perm = pxdesc->mode & 07777; /* * Create a security id if there were none * and upgrade option is selected @@ -2059,10 +2062,11 @@ int ntfs_get_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, #if OWNERFROMACL uid = ntfs_find_user(scx->mapping[MAPUSERS],usid); #else - if (!(pxdesc->mode & 07777) - && ntfs_same_sid(usid, adminsid)) { + if (!perm && ntfs_same_sid(usid, adminsid)) { uid = find_tenant(scx, securattr); + if (uid) + perm = 0700; } else uid = ntfs_find_user(scx->mapping[MAPUSERS],usid); #endif @@ -2340,7 +2344,7 @@ int ntfs_get_owner_mode(struct SECURITY_CONTEXT *scx, stbuf->st_uid = ntfs_find_user(scx->mapping[MAPUSERS],usid); #else if (!perm && ntfs_same_sid(usid, adminsid)) { - stbuf->st_uid = + stbuf->st_uid = find_tenant(scx, securattr); if (stbuf->st_uid) @@ -2452,7 +2456,7 @@ static struct POSIX_SECURITY *inherit_posix(struct SECURITY_CONTEXT *scx, /* * Allocate a security_id for a file being created - * + * * Returns zero if not possible (NTFS v3.x required) */ @@ -2674,7 +2678,7 @@ le32 ntfs_alloc_securid(struct SECURITY_CONTEXT *scx, /* * Update ownership and mode of a file, reusing an existing * security descriptor when possible - * + * * Returns zero if successful */ @@ -2889,6 +2893,7 @@ int ntfs_set_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, uid_t uid; uid_t gid; int res; + mode_t mode; BOOL isdir; BOOL deflt; BOOL exist; @@ -2914,6 +2919,7 @@ int ntfs_set_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, gid = cached->gid; oldpxdesc = cached->pxdesc; if (oldpxdesc) { + mode = oldpxdesc->mode; newpxdesc = ntfs_replace_acl(oldpxdesc, (const struct POSIX_ACL*)value,count,deflt); } @@ -2940,6 +2946,7 @@ int ntfs_set_posix_acl(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, || (!exist && (flags & XATTR_REPLACE))) { errno = (exist ? EEXIST : ENODATA); } else { + mode = oldpxdesc->mode; newpxdesc = ntfs_replace_acl(oldpxdesc, (const struct POSIX_ACL*)value,count,deflt); } @@ -3085,7 +3092,7 @@ int ntfs_set_mode(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, mode_t mode) /* must copy before merging */ pxsize = sizeof(struct POSIX_SECURITY) + (oldpxdesc->acccnt + oldpxdesc->defcnt)*sizeof(struct POSIX_ACE); - newpxdesc = (struct POSIX_SECURITY*)malloc(pxsize); + newpxdesc = (struct POSIX_SECURITY*)ntfs_malloc(pxsize); if (newpxdesc) { memcpy(newpxdesc, oldpxdesc, pxsize); if (ntfs_merge_mode_posix(newpxdesc, mode)) @@ -3173,7 +3180,7 @@ int ntfs_sd_add_everyone(ntfs_inode *ni) ACCESS_ALLOWED_ACE *ace; SID *sid; int ret, sd_len; - + /* Create SECURITY_DESCRIPTOR attribute (everyone has full access). */ /* * Calculate security descriptor length. We have 2 sub-authorities in @@ -3181,14 +3188,14 @@ int ntfs_sd_add_everyone(ntfs_inode *ni) * 4 bytes to every SID. */ sd_len = sizeof(SECURITY_DESCRIPTOR_ATTR) + 2 * (sizeof(SID) + 4) + - sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE); + sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE); sd = (SECURITY_DESCRIPTOR_RELATIVE*)ntfs_calloc(sd_len); if (!sd) return -1; - + sd->revision = SECURITY_DESCRIPTOR_REVISION; sd->control = SE_DACL_PRESENT | SE_SELF_RELATIVE; - + sid = (SID*)((u8*)sd + sizeof(SECURITY_DESCRIPTOR_ATTR)); sid->revision = SID_REVISION; sid->sub_authority_count = 2; @@ -3196,21 +3203,21 @@ int ntfs_sd_add_everyone(ntfs_inode *ni) sid->sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); sid->identifier_authority.value[5] = 5; sd->owner = cpu_to_le32((u8*)sid - (u8*)sd); - - sid = (SID*)((u8*)sid + sizeof(SID) + 4); + + sid = (SID*)((u8*)sid + sizeof(SID) + 4); sid->revision = SID_REVISION; sid->sub_authority_count = 2; sid->sub_authority[0] = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); sid->sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); sid->identifier_authority.value[5] = 5; sd->group = cpu_to_le32((u8*)sid - (u8*)sd); - + acl = (ACL*)((u8*)sid + sizeof(SID) + 4); acl->revision = ACL_REVISION; acl->size = const_cpu_to_le16(sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE)); acl->ace_count = const_cpu_to_le16(1); sd->dacl = cpu_to_le32((u8*)acl - (u8*)sd); - + ace = (ACCESS_ALLOWED_ACE*)((u8*)acl + sizeof(ACL)); ace->type = ACCESS_ALLOWED_ACE_TYPE; ace->flags = OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE; @@ -3225,7 +3232,7 @@ int ntfs_sd_add_everyone(ntfs_inode *ni) sd_len); if (ret) ntfs_log_perror("Failed to add initial SECURITY_DESCRIPTOR"); - + free(sd); return ret; } @@ -3324,7 +3331,7 @@ int ntfs_allowed_access(struct SECURITY_CONTEXT *scx, * * Returns true if access is allowed, including user is root and * no user mapping defined - * + * * Sets errno if there is a problem or if not allowed * * This is used for Posix ACL and checking creation of DOS file names @@ -3472,7 +3479,7 @@ int ntfs_set_owner(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, if (uid && (fileuid != uid)) mode &= 01777; #if POSIXACLS - res = ntfs_set_owner_mode(scx, ni, uid, gid, + res = ntfs_set_owner_mode(scx, ni, uid, gid, mode, pxdesc); #else res = ntfs_set_owner_mode(scx, ni, uid, gid, mode); @@ -3506,16 +3513,16 @@ int ntfs_set_owner(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, int ntfs_set_ownmod(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, uid_t uid, gid_t gid, const mode_t mode) { + const SECURITY_DESCRIPTOR_RELATIVE *phead; const struct CACHED_PERMISSIONS *cached; char *oldattr; - uid_t fileuid; - uid_t filegid; - int res; -#if POSIXACLS - const SECURITY_DESCRIPTOR_RELATIVE *phead; const SID *usid; const SID *gsid; + uid_t fileuid; + uid_t filegid; BOOL isdir; + int res; +#if POSIXACLS const struct POSIX_SECURITY *oldpxdesc; struct POSIX_SECURITY *newpxdesc = (struct POSIX_SECURITY*)NULL; int pxsize; @@ -3534,7 +3541,7 @@ int ntfs_set_ownmod(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, /* must copy before merging */ pxsize = sizeof(struct POSIX_SECURITY) + (oldpxdesc->acccnt + oldpxdesc->defcnt)*sizeof(struct POSIX_ACE); - newpxdesc = (struct POSIX_SECURITY*)malloc(pxsize); + newpxdesc = (struct POSIX_SECURITY*)ntfs_malloc(pxsize); if (newpxdesc) { memcpy(newpxdesc, oldpxdesc, pxsize); if (ntfs_merge_mode_posix(newpxdesc, mode)) @@ -3548,7 +3555,6 @@ int ntfs_set_ownmod(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, filegid = 0; oldattr = getsecurityattr(scx->vol, ni); if (oldattr) { -#if POSIXACLS isdir = (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY) != const_cpu_to_le16(0); phead = (const SECURITY_DESCRIPTOR_RELATIVE*) @@ -3561,6 +3567,7 @@ int ntfs_set_ownmod(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, usid = (const SID*) &oldattr[le32_to_cpu(phead->owner)]; #endif +#if POSIXACLS newpxdesc = ntfs_build_permissions_posix(scx->mapping, oldattr, usid, gsid, isdir); if (!newpxdesc || ntfs_merge_mode_posix(newpxdesc, mode)) @@ -3588,7 +3595,7 @@ int ntfs_set_ownmod(struct SECURITY_CONTEXT *scx, ntfs_inode *ni, if ((int)gid < 0) gid = filegid; #if POSIXACLS - res = ntfs_set_owner_mode(scx, ni, uid, gid, + res = ntfs_set_owner_mode(scx, ni, uid, gid, mode, newpxdesc); #else res = ntfs_set_owner_mode(scx, ni, uid, gid, mode); @@ -3819,9 +3826,9 @@ static int link_single_group(struct MAPPING *usermapping, struct passwd *user, grmem++; if (*grmem) { if (!grcnt) - groups = (gid_t*)malloc(sizeof(gid_t)); + groups = (gid_t*)ntfs_malloc(sizeof(gid_t)); else - groups = (gid_t*)realloc(groups, + groups = (gid_t*)MEM2_realloc(groups, (grcnt+1)*sizeof(gid_t)); if (groups) groups[grcnt++] = gid; @@ -4231,7 +4238,7 @@ void ntfs_close_secure(struct SECURITY_CONTEXT *scx) ntfs_index_ctx_put(vol->secure_xsii); ntfs_index_ctx_put(vol->secure_xsdh); ntfs_inode_close(vol->secure_ni); - + } ntfs_free_mapping(scx->mapping); free_caches(scx); @@ -4777,7 +4784,6 @@ BOOL ntfs_set_file_attributes(struct SECURITY_API *scapi, ni->flags = (ni->flags & ~settable) | (cpu_to_le32(attrib) & settable); NInoSetDirty(ni); - NInoFileNameSetDirty(ni); } if (!ntfs_inode_close(ni)) res = -1; diff --git a/portlibs/sources/libcustomntfs/source/types.h b/portlibs/sources/libcustomntfs/source/types.h index fcd13604..77758eaf 100644 --- a/portlibs/sources/libcustomntfs/source/types.h +++ b/portlibs/sources/libcustomntfs/source/types.h @@ -1,5 +1,5 @@ /* - * types.h - Misc type definitions not related to on-disk structure. + * types.h - Misc type definitions not related to on-disk structure. * Originated from the Linux-NTFS project. * * Copyright (c) 2000-2004 Anton Altaparmakov diff --git a/portlibs/sources/libcustomntfs/source/unistr.c b/portlibs/sources/libcustomntfs/source/unistr.c index c033ee12..343e7a34 100644 --- a/portlibs/sources/libcustomntfs/source/unistr.c +++ b/portlibs/sources/libcustomntfs/source/unistr.c @@ -432,18 +432,18 @@ void ntfs_file_value_upcase(FILE_NAME_ATTR *file_name_attr, so this patch fixes the resulting issues for systems which use UTF-8 and for others, specifying the locale in fstab brings them the encoding which they want. - + If no locale is defined or there was a problem with setting one up and whenever nl_langinfo(CODESET) returns a sting starting with "ANSI", use an internal UCS-2LE <-> UTF-8 codeset converter to fix the bug where NTFS-3G does not show any path names which include international characters!!! (and also fails on creating them) as result. - + Author: Bernhard Kaindl Jean-Pierre Andre made it compliant with RFC3629/RFC2781. */ - -/* + +/* * Return the amount of 8-bit elements in UTF-8 needed (without the terminating * null) to store a given UTF-16LE string. * @@ -462,7 +462,7 @@ static int utf16_to_utf8_size(const ntfschar *ins, const int ins_len, int outs_l if ((c >= 0xdc00) && (c < 0xe000)) { surrog = FALSE; count += 4; - } else + } else goto fail; } else if (c < 0x80) @@ -479,14 +479,14 @@ static int utf16_to_utf8_size(const ntfschar *ins, const int ins_len, int outs_l else if (c >= 0xe000) #endif count += 3; - else + else goto fail; if (count > outs_len) { errno = ENAMETOOLONG; goto out; } } - if (surrog) + if (surrog) goto fail; ret = count; @@ -548,7 +548,7 @@ static int ntfs_utf16_to_utf8(const ntfschar *ins, const int ins_len, *t++ = 0x80 + ((c >> 6) & 15) + ((halfpair & 3) << 4); *t++ = 0x80 + (c & 63); halfpair = 0; - } else + } else goto fail; } else if (c < 0x80) { *t++ = c; @@ -566,12 +566,12 @@ static int ntfs_utf16_to_utf8(const ntfschar *ins, const int ins_len, *t++ = 0xe0 | (c >> 12); *t++ = 0x80 | ((c >> 6) & 0x3f); *t++ = 0x80 | (c & 0x3f); - } else + } else goto fail; } } *t = '\0'; - + #if defined(__APPLE__) || defined(__DARWIN__) #ifdef ENABLE_NFCONV if(nfconvert_utf8 && (t - *outs) > 0) { @@ -600,7 +600,7 @@ static int ntfs_utf16_to_utf8(const ntfschar *ins, const int ins_len, } #endif /* ENABLE_NFCONV */ #endif /* defined(__APPLE__) || defined(__DARWIN__) */ - + ret = t - *outs; out: return ret; @@ -609,8 +609,8 @@ fail: goto out; } -/* - * Return the amount of 16-bit elements in UTF-16LE needed +/* + * Return the amount of 16-bit elements in UTF-16LE needed * (without the terminating null) to store given UTF-8 string. * * Return -1 with errno set if it's longer than PATH_MAX or string is invalid. @@ -625,22 +625,22 @@ static int utf8_to_utf16_size(const char *s) size_t count = 0; while ((byte = *((const unsigned char *)s++))) { - if (++count >= PATH_MAX) + if (++count >= PATH_MAX) goto fail; if (byte >= 0xc0) { if (byte >= 0xF5) { errno = EILSEQ; goto out; } - if (!*s) + if (!*s) break; - if (byte >= 0xC0) + if (byte >= 0xC0) s++; - if (!*s) + if (!*s) break; - if (byte >= 0xE0) + if (byte >= 0xE0) s++; - if (!*s) + if (!*s) break; if (byte >= 0xF0) { s++; @@ -656,11 +656,11 @@ fail: errno = ENAMETOOLONG; goto out; } -/* +/* * This converts one UTF-8 sequence to cpu-endian Unicode value * within range U+0 .. U+10ffff and excluding U+D800 .. U+DFFF * - * Return the number of used utf8 bytes or -1 with errno set + * Return the number of used utf8 bytes or -1 with errno set * if sequence is invalid. */ static int utf8_to_unicode(u32 *wc, const char *s) @@ -726,7 +726,7 @@ fail: * @ins: input multibyte string buffer * @outs: on return contains the (allocated) output utf16 string * @outs_len: length of output buffer in utf16 characters - * + * * Return -1 with errno set. */ static int ntfs_utf8_to_utf16(const char *ins, ntfschar **outs) @@ -787,7 +787,7 @@ static int ntfs_utf8_to_utf16(const char *ins, ntfschar **outs) } t += m; } - + ret = --outpos - *outs; fail: #if defined(__APPLE__) || defined(__DARWIN__) @@ -930,7 +930,7 @@ err_out: * Convert the input multibyte string @ins, from the current locale into the * corresponding little endian, 2-byte Unicode string. * - * The function allocates the string and the caller is responsible for calling + * The function allocates the string and the caller is responsible for calling * free(*@outs); when finished with it. * * On success the function returns the number of Unicode characters written to @@ -961,7 +961,7 @@ int ntfs_mbstoucs(const char *ins, ntfschar **outs) errno = EINVAL; return -1; } - + if (use_utf8) return ntfs_utf8_to_utf16(ins, outs); @@ -1137,8 +1137,8 @@ void ntfs_upcase_table_build(ntfschar *uc, u32 uc_len) * value of "Add" added to it. */ static int uc_run_table[][3] = { /* Start, End, Add */ - {0x0061, 0x007b, -32}, {0x00e0, 0x00f7, -32}, {0x00f8, 0x00ff, -32}, - {0x0256, 0x0258, -205}, {0x028a, 0x028c, -217}, {0x037b, 0x037e, 130}, + {0x0061, 0x007b, -32}, {0x00e0, 0x00f7, -32}, {0x00f8, 0x00ff, -32}, + {0x0256, 0x0258, -205}, {0x028a, 0x028c, -217}, {0x037b, 0x037e, 130}, {0x03ac, 0x03ad, -38}, {0x03ad, 0x03b0, -37}, {0x03b1, 0x03c2, -32}, {0x03c2, 0x03c3, -31}, {0x03c3, 0x03cc, -32}, {0x03cc, 0x03cd, -64}, {0x03cd, 0x03cf, -63}, {0x0430, 0x0450, -32}, {0x0450, 0x0460, -80}, @@ -1262,7 +1262,7 @@ void ntfs_upcase_table_build(ntfschar *uc, u32 uc_len) u32 ntfs_upcase_build_default(ntfschar **upcase) { - u32 upcase_len = 0; + u32 upcase_len; *upcase = (ntfschar*)ntfs_malloc(UPCASE_LEN*2); if (*upcase) { @@ -1310,12 +1310,12 @@ ntfschar *ntfs_locase_table_build(const ntfschar *uc, u32 uc_cnt) * @len: length of output buffer in Unicode characters * * Convert the input @s string into the corresponding little endian, - * 2-byte Unicode string. The length of the converted string is less + * 2-byte Unicode string. The length of the converted string is less * or equal to the maximum length allowed by the NTFS format (255). * * If @s is NULL then return AT_UNNAMED. * - * On success the function returns the Unicode string in an allocated + * On success the function returns the Unicode string in an allocated * buffer and the caller is responsible to free it when it's not needed * anymore. * @@ -1406,18 +1406,16 @@ BOOL ntfs_collapsible_chars(ntfs_volume *vol, { BOOL collapsible; unsigned int ch; - unsigned int cs; int i; collapsible = shortlen == longlen; - for (i=0; collapsible && (i= vol->upcase_len) - || (cs >= vol->upcase_len) - || (vol->upcase[cs] != vol->upcase[ch]))) - collapsible = FALSE; + if (collapsible) + for (i=0; i= vol->upcase_len) + || ((shortname[i] != longname[i]) + && (shortname[i] != vol->upcase[ch]))) + collapsible = FALSE; } return (collapsible); } @@ -1456,7 +1454,7 @@ int ntfs_macosx_normalize_filenames(int normalize) { #else return -1; #endif /* ENABLE_NFCONV */ -} +} int ntfs_macosx_normalize_utf8(const char *utf8_string, char **target, int composed) { @@ -1468,14 +1466,14 @@ int ntfs_macosx_normalize_utf8(const char *utf8_string, char **target, CFIndex requiredBufferLength; char *result = NULL; int resultLength = -1; - + /* Convert the UTF-8 string to a CFString. */ cfSourceString = CFStringCreateWithCString(kCFAllocatorDefault, utf8_string, kCFStringEncodingUTF8); if(cfSourceString == NULL) { ntfs_log_error("CFStringCreateWithCString failed!\n"); return -2; } - + /* Create a mutable string from cfSourceString that we are free to modify. */ cfMutableString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, cfSourceString); CFRelease(cfSourceString); /* End-of-life. */ @@ -1483,16 +1481,16 @@ int ntfs_macosx_normalize_utf8(const char *utf8_string, char **target, ntfs_log_error("CFStringCreateMutableCopy failed!\n"); return -3; } - + /* Normalize the mutable string to the desired normalization form. */ CFStringNormalize(cfMutableString, (composed != 0 ? kCFStringNormalizationFormC : kCFStringNormalizationFormD)); - + /* Store the resulting string in a '\0'-terminated UTF-8 encoded char* buffer. */ rangeToProcess = CFRangeMake(0, CFStringGetLength(cfMutableString)); if(CFStringGetBytes(cfMutableString, rangeToProcess, kCFStringEncodingUTF8, 0, false, NULL, 0, &requiredBufferLength) > 0) { resultLength = sizeof(char)*(requiredBufferLength + 1); result = ntfs_calloc(resultLength); - + if(result != NULL) { if(CFStringGetBytes(cfMutableString, rangeToProcess, kCFStringEncodingUTF8, 0, false, (UInt8*)result, resultLength-1, &requiredBufferLength) <= 0) { @@ -1507,9 +1505,9 @@ int ntfs_macosx_normalize_utf8(const char *utf8_string, char **target, else ntfs_log_error("Could not perform check for required length of UTF-8 conversion of normalized CFMutableString.\n"); - + CFRelease(cfMutableString); - + if(result != NULL) { *target = result; return resultLength - 1; diff --git a/portlibs/sources/libcustomntfs/source/volume.c b/portlibs/sources/libcustomntfs/source/volume.c index a18109f1..28e4c907 100644 --- a/portlibs/sources/libcustomntfs/source/volume.c +++ b/portlibs/sources/libcustomntfs/source/volume.c @@ -54,7 +54,6 @@ #include #endif -#include "param.h" #include "compat.h" #include "volume.h" #include "attrib.h" @@ -68,7 +67,6 @@ #include "dir.h" #include "logging.h" #include "cache.h" -#include "realpath.h" #include "misc.h" const char *ntfs_home = @@ -375,12 +373,6 @@ mft_has_no_attr_list: /* Done with the $Mft mft record. */ ntfs_attr_put_search_ctx(ctx); ctx = NULL; - - /* Update the size fields in the inode. */ - vol->mft_ni->data_size = vol->mft_na->data_size; - vol->mft_ni->allocated_size = vol->mft_na->allocated_size; - set_nino_flag(vol->mft_ni, KnownSize); - /* * The volume is now setup so we can use all read access functions. */ @@ -502,12 +494,6 @@ ntfs_volume *ntfs_volume_startup(struct ntfs_device *dev, unsigned long flags) NVolSetShowSysFiles(vol); NVolSetShowHidFiles(vol); NVolClearHideDotFiles(vol); - /* set default compression */ -#if DEFAULT_COMPRESSION - NVolSetCompression(vol); -#else - NVolClearCompression(vol); -#endif if (flags & MS_RDONLY) NVolSetReadOnly(vol); @@ -1373,6 +1359,18 @@ int ntfs_umount(ntfs_volume *vol, const BOOL force __attribute__((unused))) #ifdef HAVE_MNTENT_H +#ifndef HAVE_REALPATH +/** + * realpath - If there is no realpath on the system + */ +static char *realpath(const char *path, char *resolved_path) +{ + strncpy(resolved_path, path, PATH_MAX); + resolved_path[PATH_MAX] = '\0'; + return resolved_path; +} +#endif + /** * ntfs_mntent_check - desc * @@ -1396,7 +1394,7 @@ static int ntfs_mntent_check(const char *file, unsigned long *mnt_flags) err = errno; goto exit; } - if (!ntfs_realpath_canonicalize(file, real_file)) { + if (!realpath(file, real_file)) { err = errno; goto exit; } @@ -1405,7 +1403,7 @@ static int ntfs_mntent_check(const char *file, unsigned long *mnt_flags) goto exit; } while ((mnt = getmntent(f))) { - if (!ntfs_realpath_canonicalize(mnt->mnt_fsname, real_fsname)) + if (!realpath(mnt->mnt_fsname, real_fsname)) continue; if (!strcmp(real_file, real_fsname)) break; @@ -1732,113 +1730,3 @@ int ntfs_volume_get_free_space(ntfs_volume *vol) } return (ret); } - -/** - * ntfs_volume_rename - change the current label on a volume - * @vol: volume to change the label on - * @label: the new label - * @label_len: the length of @label in ntfschars including the terminating NULL - * character, which is mandatory (the value can not exceed 128) - * - * Change the label on the volume @vol to @label. - */ -int ntfs_volume_rename(ntfs_volume *vol, ntfschar *label, int label_len) -{ - ntfs_attr *na; - char *old_vol_name; - char *new_vol_name = NULL; - int new_vol_name_len; - int err; - - if (NVolReadOnly(vol)) { - ntfs_log_error("Refusing to change label on read-only mounted " - "volume.\n"); - errno = EROFS; - return -1; - } - - label_len *= sizeof(ntfschar); - if (label_len > 0x100) { - ntfs_log_error("New label is too long. Maximum %u characters " - "allowed.\n", - (unsigned)(0x100 / sizeof(ntfschar))); - errno = ERANGE; - return -1; - } - - na = ntfs_attr_open(vol->vol_ni, AT_VOLUME_NAME, AT_UNNAMED, 0); - if (!na) { - if (errno != ENOENT) { - err = errno; - ntfs_log_perror("Lookup of $VOLUME_NAME attribute " - "failed"); - goto err_out; - } - - /* The volume name attribute does not exist. Need to add it. */ - if (ntfs_attr_add(vol->vol_ni, AT_VOLUME_NAME, AT_UNNAMED, 0, - (u8*) label, label_len)) - { - err = errno; - ntfs_log_perror("Encountered error while adding " - "$VOLUME_NAME attribute"); - goto err_out; - } - } - else { - s64 written; - - if (NAttrNonResident(na)) { - err = errno; - ntfs_log_error("Error: Attribute $VOLUME_NAME must be " - "resident.\n"); - goto err_out; - } - - if (na->data_size != label_len) { - if (ntfs_attr_truncate(na, label_len)) { - err = errno; - ntfs_log_perror("Error resizing resident " - "attribute"); - goto err_out; - } - } - - if (label_len) { - written = ntfs_attr_pwrite(na, 0, label_len, label); - if (written == -1) { - err = errno; - ntfs_log_perror("Error when writing " - "$VOLUME_NAME data"); - goto err_out; - } - else if (written != label_len) { - err = EIO; - ntfs_log_error("Partial write when writing " - "$VOLUME_NAME data."); - goto err_out; - - } - } - } - - new_vol_name_len = - ntfs_ucstombs(label, label_len, &new_vol_name, 0); - if (new_vol_name_len == -1) { - err = errno; - ntfs_log_perror("Error while decoding new volume name"); - goto err_out; - } - - old_vol_name = vol->vol_name; - vol->vol_name = new_vol_name; - free(old_vol_name); - - err = 0; -err_out: - if (na) - ntfs_attr_close(na); - if (err) - errno = err; - return err ? -1 : 0; -} diff --git a/portlibs/sources/libcustomntfs/source/volume.h b/portlibs/sources/libcustomntfs/source/volume.h index 9d62d668..b3f47bf9 100644 --- a/portlibs/sources/libcustomntfs/source/volume.h +++ b/portlibs/sources/libcustomntfs/source/volume.h @@ -113,7 +113,6 @@ typedef enum { NV_ShowHidFiles, /* 1: Show files marked hidden. */ NV_HideDotFiles, /* 1: Set hidden flag on dot files */ NV_Compression, /* 1: allow compression */ - NV_NoFixupWarn, /* 1: Do not log fixup errors */ } ntfs_volume_state_bits; #define test_nvol_flag(nv, flag) test_bit(NV_##flag, (nv)->state) @@ -148,10 +147,6 @@ typedef enum { #define NVolSetCompression(nv) set_nvol_flag(nv, Compression) #define NVolClearCompression(nv) clear_nvol_flag(nv, Compression) -#define NVolNoFixupWarn(nv) test_nvol_flag(nv, NoFixupWarn) -#define NVolSetNoFixupWarn(nv) set_nvol_flag(nv, NoFixupWarn) -#define NVolClearNoFixupWarn(nv) clear_nvol_flag(nv, NoFixupWarn) - /* * NTFS version 1.1 and 1.2 are used by Windows NT4. * NTFS version 2.x is used by Windows 2000 Beta @@ -302,7 +297,6 @@ extern int ntfs_volume_error(int err); extern void ntfs_mount_error(const char *vol, const char *mntpoint, int err); extern int ntfs_volume_get_free_space(ntfs_volume *vol); -extern int ntfs_volume_rename(ntfs_volume *vol, ntfschar *label, int label_len); extern int ntfs_set_shown_files(ntfs_volume *vol, BOOL show_sys_files, BOOL show_hid_files, BOOL hide_dot_files); diff --git a/source/devicemounter/PartitionHandle.cpp b/source/devicemounter/PartitionHandle.cpp index 3d62bec5..60453065 100644 --- a/source/devicemounter/PartitionHandle.cpp +++ b/source/devicemounter/PartitionHandle.cpp @@ -42,7 +42,7 @@ #define PARTITION_TYPE_WIN95_EXTENDED 0x0F /* Windows 95 extended partition */ #define PARTITION_TYPE_GPT_TABLE 0xEE /* New Standard */ -#define CACHE 32 +#define CACHE 8 #define SECTORS 64 extern const DISC_INTERFACE __io_sdhc; @@ -128,7 +128,7 @@ bool PartitionHandle::Mount(int pos, const char * name) } else if(strncmp(GetFSName(pos), "NTFS", 4) == 0) { - if(ntfsMount(MountNameList[pos].c_str(), interface, GetLBAStart(pos), CACHE, SECTORS, NTFS_SHOW_HIDDEN_FILES | NTFS_RECOVER)) + if(ntfsMount(MountNameList[pos].c_str(), interface, GetLBAStart(pos), CACHE, SECTORS, NTFS_SU | NTFS_RECOVER | NTFS_IGNORE_CASE)) return true; } else if(strncmp(GetFSName(pos), "LINUX", 5) == 0)