summaryrefslogtreecommitdiffstats
path: root/fs/hfs
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-06-15 01:55:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-06-15 01:55:58 +0000
commit53b3988d474435254a3b053a68bb24ce9e439295 (patch)
treef8da8e40f01f4ad02bbd76b8c9920749b118235f /fs/hfs
parentb0cb48abe83d1a4389ea938bf624f8baa82c5047 (diff)
Merge with 2.3.99-pre9.
Diffstat (limited to 'fs/hfs')
-rw-r--r--fs/hfs/balloc.c2
-rw-r--r--fs/hfs/catalog.c8
-rw-r--r--fs/hfs/dir.c2
-rw-r--r--fs/hfs/file_hdr.c2
-rw-r--r--fs/hfs/hfs.h16
-rw-r--r--fs/hfs/hfs_btree.h4
-rw-r--r--fs/hfs/mdb.c2
-rw-r--r--fs/hfs/part_tbl.c2
8 files changed, 19 insertions, 19 deletions
diff --git a/fs/hfs/balloc.c b/fs/hfs/balloc.c
index d7e17e72f..4edd6b748 100644
--- a/fs/hfs/balloc.c
+++ b/fs/hfs/balloc.c
@@ -86,6 +86,8 @@ static struct hfs_bnode_ref hfs_bnode_init(struct hfs_btree * tree,
retval.bn->magic = HFS_BNODE_MAGIC;
retval.bn->tree = tree;
retval.bn->node = node;
+ hfs_init_waitqueue(&retval.bn->wqueue);
+ hfs_init_waitqueue(&retval.bn->rqueue);
hfs_bnode_lock(&retval, HFS_LOCK_WRITE);
retval.bn->buf = get_new_node(tree, node);
diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c
index 85e3a909b..e2b975fae 100644
--- a/fs/hfs/catalog.c
+++ b/fs/hfs/catalog.c
@@ -60,7 +60,7 @@ typedef struct {
hfs_byte_t RExtRec[12]; /* first extent record
for the resource fork */
hfs_lword_t Resrv; /* reserved by Apple */
-} FIL_REC;
+} __attribute__((packed)) FIL_REC;
/* the catalog record for a directory */
typedef struct {
@@ -74,14 +74,14 @@ typedef struct {
hfs_dinfo_t UsrInfo; /* data used by the Finder */
hfs_dxinfo_t FndrInfo; /* more data used by Finder */
hfs_byte_t Resrv[16]; /* reserved by Apple */
-} DIR_REC;
+} __attribute__((packed)) DIR_REC;
/* the catalog record for a thread */
typedef struct {
hfs_byte_t Reserv[8]; /* reserved by Apple */
hfs_lword_t ParID; /* CNID of parent directory */
struct hfs_name CName; /* The name of this entry */
-} THD_REC;
+} __attribute__((packed)) THD_REC;
/* A catalog tree record */
struct hfs_cat_rec {
@@ -92,7 +92,7 @@ struct hfs_cat_rec {
DIR_REC dir;
THD_REC thd;
} u;
-};
+} __attribute__((packed));
/*================ File-local variables ================*/
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index 07f4ab93d..d6de087e9 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -274,7 +274,6 @@ int hfs_unlink(struct inode * dir, struct dentry *dentry)
inode->i_nlink--;
inode->i_ctime = CURRENT_TIME;
mark_inode_dirty(inode);
- d_delete(dentry);
update_dirs_minus(entry, 0);
}
@@ -328,7 +327,6 @@ int hfs_rmdir(struct inode * parent, struct dentry *dentry)
inode->i_nlink = 0;
inode->i_ctime = CURRENT_TIME;
mark_inode_dirty(inode);
- d_delete(dentry);
update_dirs_minus(entry, 1);
hfs_rmdir_put:
diff --git a/fs/hfs/file_hdr.c b/fs/hfs/file_hdr.c
index 80e47fc62..ba62615b0 100644
--- a/fs/hfs/file_hdr.c
+++ b/fs/hfs/file_hdr.c
@@ -158,7 +158,7 @@ struct hdr_hdr {
hfs_byte_t filler[16];
hfs_word_t entries;
hfs_byte_t descrs[12*HFS_HDR_MAX];
-};
+} __attribute__((packed));
/*================ File-local functions ================*/
diff --git a/fs/hfs/hfs.h b/fs/hfs/hfs.h
index 3819a685f..9552bbb34 100644
--- a/fs/hfs/hfs.h
+++ b/fs/hfs/hfs.h
@@ -130,7 +130,7 @@
struct hfs_name {
hfs_byte_t Len;
hfs_byte_t Name[31];
-};
+} __attribute__((packed));
typedef struct {
hfs_word_t v;
@@ -150,21 +150,21 @@ typedef struct {
hfs_word_t fdFlags;
hfs_point_t fdLocation;
hfs_word_t fdFldr;
-} hfs_finfo_t;
+} __attribute__((packed)) hfs_finfo_t;
typedef struct {
hfs_word_t fdIconID;
hfs_byte_t fdUnused[8];
hfs_word_t fdComment;
hfs_lword_t fdPutAway;
-} hfs_fxinfo_t;
+} __attribute__((packed)) hfs_fxinfo_t;
typedef struct {
hfs_rect_t frRect;
hfs_word_t frFlags;
hfs_point_t frLocation;
hfs_word_t frView;
-} hfs_dinfo_t;
+} __attribute__((packed)) hfs_dinfo_t;
typedef struct {
hfs_point_t frScroll;
@@ -172,7 +172,7 @@ typedef struct {
hfs_word_t frUnused;
hfs_word_t frComment;
hfs_lword_t frPutAway;
-} hfs_dxinfo_t;
+} __attribute__((packed)) hfs_dxinfo_t;
union hfs_finder_info {
struct {
@@ -189,7 +189,7 @@ union hfs_finder_info {
struct hfs_bkey {
hfs_byte_t KeyLen; /* number of bytes in the key */
hfs_byte_t value[1]; /* (KeyLen) bytes of key */
-};
+} __attribute__((packed));
/* Cast to a pointer to a generic bkey */
#define HFS_BKEY(X) (((void)((X)->KeyLen)), ((struct hfs_bkey *)(X)))
@@ -200,7 +200,7 @@ struct hfs_cat_key {
hfs_byte_t Resrv1; /* padding */
hfs_lword_t ParID; /* CNID of the parent dir */
struct hfs_name CName; /* The filename of the entry */
-};
+} __attribute__((packed));
/* The key used in the extents b-tree: */
struct hfs_ext_key {
@@ -208,7 +208,7 @@ struct hfs_ext_key {
hfs_byte_t FkType; /* HFS_FK_{DATA,RSRC} */
hfs_lword_t FNum; /* The File ID of the file */
hfs_word_t FABN; /* allocation blocks number*/
-};
+} __attribute__((packed));
/*======== Data structures kept in memory ========*/
diff --git a/fs/hfs/hfs_btree.h b/fs/hfs/hfs_btree.h
index 97423b350..39d6df4d5 100644
--- a/fs/hfs/hfs_btree.h
+++ b/fs/hfs/hfs_btree.h
@@ -90,7 +90,7 @@ struct BTHdrRec {
hfs_byte_t bthResv2; /* reserved */
hfs_lword_t bthAtrb; /* (F) attributes */
hfs_lword_t bthResv3[16]; /* Reserved */
-};
+} __attribute__((packed));
/*
* struct NodeDescriptor
@@ -112,7 +112,7 @@ struct NodeDescriptor {
hfs_byte_t ndNHeight; /* (F) The level of this node (leaves=1) */
hfs_word_t ndNRecs; /* (V) The number of records in this node */
hfs_word_t ndResv2; /* Reserved */
-};
+} __attribute__((packed));
/*
* typedef hfs_cmpfn
diff --git a/fs/hfs/mdb.c b/fs/hfs/mdb.c
index 386a6ae79..b44fdafc8 100644
--- a/fs/hfs/mdb.c
+++ b/fs/hfs/mdb.c
@@ -71,7 +71,7 @@ struct raw_mdb {
hfs_byte_t drXTExtRec[12]; /* extents B-tree's first 3 extents */
hfs_lword_t drCTFlSize; /* bytes in the catalog B-tree */
hfs_byte_t drCTExtRec[12]; /* catalog B-tree's first 3 extents */
-};
+} __attribute__((packed));
/*================ Global functions ================*/
diff --git a/fs/hfs/part_tbl.c b/fs/hfs/part_tbl.c
index 12922c6d7..2392a0791 100644
--- a/fs/hfs/part_tbl.c
+++ b/fs/hfs/part_tbl.c
@@ -77,7 +77,7 @@ struct old_pmap {
hfs_lword_t pdSize;
hfs_lword_t pdFSID;
} pdEntry[42];
-};
+} __attribute__((packed));
/*================ File-local functions ================*/