Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
6f2a9d7b
Commit
6f2a9d7b
authored
Nov 18, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/dwmw2/BK/jffs2-forlinus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
44ef2d6a
274c7da7
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
52 additions
and
92 deletions
+52
-92
fs/udf/file.c
fs/udf/file.c
+0
-3
fs/udf/ialloc.c
fs/udf/ialloc.c
+2
-4
fs/udf/inode.c
fs/udf/inode.c
+33
-55
fs/udf/namei.c
fs/udf/namei.c
+0
-6
fs/udf/super.c
fs/udf/super.c
+5
-4
fs/udf/udf_i.h
fs/udf/udf_i.h
+0
-3
fs/udf/udfdecl.h
fs/udf/udfdecl.h
+1
-3
fs/udf/udftime.c
fs/udf/udftime.c
+7
-7
include/linux/device.h
include/linux/device.h
+2
-2
include/linux/udf_fs_i.h
include/linux/udf_fs_i.h
+1
-4
include/linux/udf_fs_sb.h
include/linux/udf_fs_sb.h
+1
-1
No files found.
fs/udf/file.c
View file @
6f2a9d7b
...
...
@@ -145,10 +145,7 @@ static ssize_t udf_file_write(struct file * file, const char * buf,
retval
=
generic_file_write
(
file
,
buf
,
count
,
ppos
);
if
(
retval
>
0
)
{
UDF_I_UCTIME
(
inode
)
=
UDF_I_UMTIME
(
inode
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
inode
);
}
return
retval
;
}
...
...
fs/udf/ialloc.c
View file @
6f2a9d7b
...
...
@@ -156,10 +156,8 @@ struct inode * udf_new_inode (struct inode *dir, int mode, int * err)
UDF_I_ALLOCTYPE
(
inode
)
=
ICBTAG_FLAG_AD_SHORT
;
else
UDF_I_ALLOCTYPE
(
inode
)
=
ICBTAG_FLAG_AD_LONG
;
inode
->
i_mtime
=
inode
->
i_atime
=
inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_CRTIME
(
inode
)
=
get_seconds
();
UDF_I_UMTIME
(
inode
)
=
UDF_I_UCTIME
(
inode
)
=
UDF_I_UCRTIME
(
inode
)
=
get_seconds
();
inode
->
i_mtime
=
inode
->
i_atime
=
inode
->
i_ctime
=
UDF_I_CRTIME
(
inode
)
=
CURRENT_TIME
;
insert_inode_hash
(
inode
);
mark_inode_dirty
(
inode
);
...
...
fs/udf/inode.c
View file @
6f2a9d7b
...
...
@@ -573,7 +573,6 @@ static struct buffer_head * inode_getblk(struct inode * inode, long block,
UDF_I_NEXT_ALLOC_BLOCK
(
inode
)
=
block
;
UDF_I_NEXT_ALLOC_GOAL
(
inode
)
=
newblocknum
;
inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
inode
)
=
CURRENT_UTIME
;
if
(
IS_SYNC
(
inode
))
udf_sync_inode
(
inode
);
...
...
@@ -877,7 +876,6 @@ void udf_truncate(struct inode * inode)
}
inode
->
i_mtime
=
inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_UMTIME
(
inode
)
=
UDF_I_UCTIME
(
inode
)
=
CURRENT_UTIME
;
if
(
IS_SYNC
(
inode
))
udf_sync_inode
(
inode
);
else
...
...
@@ -1023,10 +1021,6 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
UDF_I_STRAT4096
(
inode
)
=
1
;
UDF_I_ALLOCTYPE
(
inode
)
=
le16_to_cpu
(
fe
->
icbTag
.
flags
)
&
ICBTAG_FLAG_AD_MASK
;
UDF_I_UMTIME
(
inode
)
=
0
;
UDF_I_UCTIME
(
inode
)
=
0
;
UDF_I_CRTIME
(
inode
)
=
0
;
UDF_I_UCRTIME
(
inode
)
=
0
;
UDF_I_UNIQUE
(
inode
)
=
0
;
UDF_I_LENEATTR
(
inode
)
=
0
;
UDF_I_LENEXTENTS
(
inode
)
=
0
;
...
...
@@ -1084,40 +1078,33 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
lets_to_cpu
(
fe
->
accessTime
))
)
{
inode
->
i_atime
.
tv_sec
=
convtime
;
inode
->
i_atime
.
tv_nsec
=
0
;
inode
->
i_atime
.
tv_nsec
=
convtime_usec
*
100
0
;
}
else
{
inode
->
i_atime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_atime
.
tv_nsec
=
0
;
inode
->
i_atime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
if
(
udf_stamp_to_time
(
&
convtime
,
&
convtime_usec
,
lets_to_cpu
(
fe
->
modificationTime
))
)
{
inode
->
i_mtime
.
tv_sec
=
convtime
;
inode
->
i_mtime
.
tv_nsec
=
0
;
UDF_I_UMTIME
(
inode
)
=
convtime_usec
;
inode
->
i_mtime
.
tv_nsec
=
convtime_usec
*
1000
;
}
else
{
inode
->
i_mtime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_mtime
.
tv_nsec
=
0
;
UDF_I_UMTIME
(
inode
)
=
0
;
inode
->
i_mtime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
if
(
udf_stamp_to_time
(
&
convtime
,
&
convtime_usec
,
lets_to_cpu
(
fe
->
attrTime
))
)
{
inode
->
i_ctime
.
tv_sec
=
convtime
;
inode
->
i_ctime
.
tv_nsec
=
0
;
UDF_I_UCTIME
(
inode
)
=
convtime_usec
;
inode
->
i_ctime
.
tv_nsec
=
convtime_usec
*
1000
;
}
else
{
inode
->
i_ctime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_ctime
.
tv_nsec
=
0
;
UDF_I_UCTIME
(
inode
)
=
0
;
inode
->
i_ctime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
UDF_I_UNIQUE
(
inode
)
=
le64_to_cpu
(
fe
->
uniqueID
);
...
...
@@ -1135,52 +1122,44 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
lets_to_cpu
(
efe
->
accessTime
))
)
{
inode
->
i_atime
.
tv_sec
=
convtime
;
inode
->
i_atime
.
tv_nsec
=
0
;
inode
->
i_atime
.
tv_nsec
=
convtime_usec
*
100
0
;
}
else
{
inode
->
i_atime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_atime
.
tv_nsec
=
0
;
inode
->
i_atime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
if
(
udf_stamp_to_time
(
&
convtime
,
&
convtime_usec
,
lets_to_cpu
(
efe
->
modificationTime
))
)
{
inode
->
i_mtime
.
tv_sec
=
convtime
;
inode
->
i_mtime
.
tv_nsec
=
0
;
UDF_I_UMTIME
(
inode
)
=
convtime_usec
;
inode
->
i_mtime
.
tv_nsec
=
convtime_usec
*
1000
;
}
else
{
inode
->
i_mtime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_mtime
.
tv_nsec
=
0
;
UDF_I_UMTIME
(
inode
)
=
0
;
inode
->
i_mtime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
if
(
udf_stamp_to_time
(
&
convtime
,
&
convtime_usec
,
lets_to_cpu
(
efe
->
createTime
))
)
{
UDF_I_CRTIME
(
inode
)
=
convtime
;
UDF_I_
UCRTIME
(
inode
)
=
convtime_usec
;
UDF_I_CRTIME
(
inode
)
.
tv_sec
=
convtime
;
UDF_I_
CRTIME
(
inode
).
tv_nsec
=
convtime_usec
*
1000
;
}
else
{
UDF_I_CRTIME
(
inode
)
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
UDF_I_UCRTIME
(
inode
)
=
0
;
}
if
(
udf_stamp_to_time
(
&
convtime
,
&
convtime_usec
,
lets_to_cpu
(
efe
->
attrTime
))
)
{
inode
->
i_ctime
.
tv_sec
=
convtime
;
inode
->
i_ctime
.
tv_nsec
=
0
;
UDF_I_UCTIME
(
inode
)
=
convtime_usec
;
inode
->
i_ctime
.
tv_nsec
=
convtime_usec
*
1000
;
}
else
{
inode
->
i_ctime
.
tv_sec
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
inode
->
i_ctime
.
tv_nsec
=
0
;
UDF_I_UCTIME
(
inode
)
=
0
;
inode
->
i_ctime
=
UDF_SB_RECORDTIME
(
inode
->
i_sb
);
}
UDF_I_UNIQUE
(
inode
)
=
le64_to_cpu
(
efe
->
uniqueID
);
...
...
@@ -1423,11 +1402,11 @@ udf_update_inode(struct inode *inode, int do_sync)
(
inode
->
i_blocks
+
(
1
<<
(
inode
->
i_sb
->
s_blocksize_bits
-
9
))
-
1
)
>>
(
inode
->
i_sb
->
s_blocksize_bits
-
9
));
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_atime
.
tv_sec
,
0
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_atime
))
fe
->
accessTime
=
cpu_to_lets
(
cpu_time
);
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_mtime
.
tv_sec
,
UDF_I_UMTIME
(
inode
)
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_mtime
))
fe
->
modificationTime
=
cpu_to_lets
(
cpu_time
);
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_ctime
.
tv_sec
,
UDF_I_UCTIME
(
inode
)
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_ctime
))
fe
->
attrTime
=
cpu_to_lets
(
cpu_time
);
memset
(
&
(
fe
->
impIdent
),
0
,
sizeof
(
regid
));
strcpy
(
fe
->
impIdent
.
ident
,
UDF_ID_DEVELOPER
);
...
...
@@ -1447,33 +1426,32 @@ udf_update_inode(struct inode *inode, int do_sync)
(
inode
->
i_blocks
+
(
1
<<
(
inode
->
i_sb
->
s_blocksize_bits
-
9
))
-
1
)
>>
(
inode
->
i_sb
->
s_blocksize_bits
-
9
));
if
(
UDF_I_CRTIME
(
inode
)
>=
inode
->
i_atime
.
tv_sec
)
if
(
UDF_I_CRTIME
(
inode
).
tv_sec
>
inode
->
i_atime
.
tv_sec
||
(
UDF_I_CRTIME
(
inode
).
tv_sec
==
inode
->
i_atime
.
tv_sec
&&
UDF_I_CRTIME
(
inode
).
tv_nsec
>
inode
->
i_atime
.
tv_nsec
))
{
UDF_I_CRTIME
(
inode
)
=
inode
->
i_atime
.
tv_sec
;
UDF_I_UCRTIME
(
inode
)
=
0
;
UDF_I_CRTIME
(
inode
)
=
inode
->
i_atime
;
}
if
(
UDF_I_CRTIME
(
inode
)
>
inode
->
i_mtime
.
tv_sec
||
(
UDF_I_CRTIME
(
inode
)
==
inode
->
i_mtime
.
tv_sec
&&
UDF_I_
UCRTIME
(
inode
)
>
UDF_I_UMTIME
(
inode
)
))
if
(
UDF_I_CRTIME
(
inode
)
.
tv_sec
>
inode
->
i_mtime
.
tv_sec
||
(
UDF_I_CRTIME
(
inode
)
.
tv_sec
==
inode
->
i_mtime
.
tv_sec
&&
UDF_I_
CRTIME
(
inode
).
tv_nsec
>
inode
->
i_mtime
.
tv_nsec
))
{
UDF_I_CRTIME
(
inode
)
=
inode
->
i_mtime
.
tv_sec
;
UDF_I_UCRTIME
(
inode
)
=
UDF_I_UMTIME
(
inode
);
UDF_I_CRTIME
(
inode
)
=
inode
->
i_mtime
;
}
if
(
UDF_I_CRTIME
(
inode
)
>
inode
->
i_ctime
.
tv_sec
||
(
UDF_I_CRTIME
(
inode
)
==
inode
->
i_ctime
.
tv_sec
&&
UDF_I_
UCRTIME
(
inode
)
>
UDF_I_UCTIME
(
inode
)
))
if
(
UDF_I_CRTIME
(
inode
)
.
tv_sec
>
inode
->
i_ctime
.
tv_sec
||
(
UDF_I_CRTIME
(
inode
)
.
tv_sec
==
inode
->
i_ctime
.
tv_sec
&&
UDF_I_
CRTIME
(
inode
).
tv_nsec
>
inode
->
i_ctime
.
tv_nsec
))
{
UDF_I_CRTIME
(
inode
)
=
inode
->
i_ctime
.
tv_sec
;
UDF_I_UCRTIME
(
inode
)
=
UDF_I_UCTIME
(
inode
);
UDF_I_CRTIME
(
inode
)
=
inode
->
i_ctime
;
}
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_atime
.
tv_sec
,
0
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_atime
))
efe
->
accessTime
=
cpu_to_lets
(
cpu_time
);
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_mtime
.
tv_sec
,
UDF_I_UMTIME
(
inode
)
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_mtime
))
efe
->
modificationTime
=
cpu_to_lets
(
cpu_time
);
if
(
udf_time_to_stamp
(
&
cpu_time
,
UDF_I_CRTIME
(
inode
)
,
UDF_I_UCRTIME
(
inode
)
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
UDF_I_CRTIME
(
inode
)))
efe
->
createTime
=
cpu_to_lets
(
cpu_time
);
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_ctime
.
tv_sec
,
UDF_I_UCTIME
(
inode
)
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
inode
->
i_ctime
))
efe
->
attrTime
=
cpu_to_lets
(
cpu_time
);
memset
(
&
(
efe
->
impIdent
),
0
,
sizeof
(
regid
));
...
...
fs/udf/namei.c
View file @
6f2a9d7b
...
...
@@ -882,7 +882,6 @@ static int udf_rmdir(struct inode * dir, struct dentry * dentry)
mark_inode_dirty
(
inode
);
dir
->
i_nlink
--
;
inode
->
i_ctime
=
dir
->
i_ctime
=
dir
->
i_mtime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
inode
)
=
UDF_I_UCTIME
(
dir
)
=
UDF_I_UMTIME
(
dir
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
dir
);
end_rmdir:
...
...
@@ -926,7 +925,6 @@ static int udf_unlink(struct inode * dir, struct dentry * dentry)
if
(
retval
)
goto
end_unlink
;
dir
->
i_ctime
=
dir
->
i_mtime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
dir
)
=
UDF_I_UMTIME
(
dir
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
dir
);
inode
->
i_nlink
--
;
mark_inode_dirty
(
inode
);
...
...
@@ -1157,7 +1155,6 @@ static int udf_link(struct dentry * old_dentry, struct inode * dir,
udf_release_data
(
fibh
.
sbh
);
inode
->
i_nlink
++
;
inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
inode
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
inode
);
atomic_inc
(
&
inode
->
i_count
);
d_instantiate
(
dentry
,
inode
);
...
...
@@ -1251,7 +1248,6 @@ static int udf_rename (struct inode * old_dir, struct dentry * old_dentry,
* rename.
*/
old_inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
old_inode
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
old_inode
);
/*
...
...
@@ -1270,11 +1266,9 @@ static int udf_rename (struct inode * old_dir, struct dentry * old_dentry,
{
new_inode
->
i_nlink
--
;
new_inode
->
i_ctime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
new_inode
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
new_inode
);
}
old_dir
->
i_ctime
=
old_dir
->
i_mtime
=
CURRENT_TIME
;
UDF_I_UCTIME
(
old_dir
)
=
UDF_I_UMTIME
(
old_dir
)
=
CURRENT_UTIME
;
mark_inode_dirty
(
old_dir
);
if
(
dir_fi
)
...
...
fs/udf/super.c
View file @
6f2a9d7b
...
...
@@ -800,7 +800,8 @@ udf_load_pvoldesc(struct super_block *sb, struct buffer_head *bh)
udf_debug
(
"recording time %ld/%ld, %04u/%02u/%02u %02u:%02u (%x)
\n
"
,
recording
,
recording_usec
,
ts
.
year
,
ts
.
month
,
ts
.
day
,
ts
.
hour
,
ts
.
minute
,
ts
.
typeAndTimezone
);
UDF_SB_RECORDTIME
(
sb
)
=
recording
;
UDF_SB_RECORDTIME
(
sb
).
tv_sec
=
recording
;
UDF_SB_RECORDTIME
(
sb
).
tv_nsec
=
recording_usec
*
1000
;
}
if
(
!
udf_build_ustr
(
&
instr
,
pvoldesc
->
volIdent
,
32
)
)
...
...
@@ -1339,7 +1340,7 @@ static void udf_open_lvid(struct super_block *sb)
UDF_SB_LVIDIU
(
sb
)
->
impIdent
.
identSuffix
[
0
]
=
UDF_OS_CLASS_UNIX
;
UDF_SB_LVIDIU
(
sb
)
->
impIdent
.
identSuffix
[
1
]
=
UDF_OS_ID_LINUX
;
if
(
udf_time_to_stamp
(
&
cpu_time
,
get_seconds
(),
CURRENT_U
TIME
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
CURRENT_
TIME
))
UDF_SB_LVID
(
sb
)
->
recordingDateAndTime
=
cpu_to_lets
(
cpu_time
);
UDF_SB_LVID
(
sb
)
->
integrityType
=
LVID_INTEGRITY_TYPE_OPEN
;
...
...
@@ -1367,7 +1368,7 @@ static void udf_close_lvid(struct super_block *sb)
UDF_SB_LVIDIU
(
sb
)
->
impIdent
.
identSuffix
[
0
]
=
UDF_OS_CLASS_UNIX
;
UDF_SB_LVIDIU
(
sb
)
->
impIdent
.
identSuffix
[
1
]
=
UDF_OS_ID_LINUX
;
if
(
udf_time_to_stamp
(
&
cpu_time
,
get_seconds
(),
CURRENT_U
TIME
))
if
(
udf_time_to_stamp
(
&
cpu_time
,
CURRENT_
TIME
))
UDF_SB_LVID
(
sb
)
->
recordingDateAndTime
=
cpu_to_lets
(
cpu_time
);
if
(
UDF_MAX_WRITE_VERSION
>
le16_to_cpu
(
UDF_SB_LVIDIU
(
sb
)
->
maxUDFWriteRev
))
UDF_SB_LVIDIU
(
sb
)
->
maxUDFWriteRev
=
cpu_to_le16
(
UDF_MAX_WRITE_VERSION
);
...
...
@@ -1536,7 +1537,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
if
(
!
silent
)
{
timestamp
ts
;
udf_time_to_stamp
(
&
ts
,
UDF_SB_RECORDTIME
(
sb
)
,
0
);
udf_time_to_stamp
(
&
ts
,
UDF_SB_RECORDTIME
(
sb
));
udf_info
(
"UDF %s (%s) Mounting volume '%s', timestamp %04u/%02u/%02u %02u:%02u (%x)
\n
"
,
UDFFS_VERSION
,
UDFFS_DATE
,
UDF_SB_VOLIDENT
(
sb
),
ts
.
year
,
ts
.
month
,
ts
.
day
,
ts
.
hour
,
ts
.
minute
,
...
...
fs/udf/udf_i.h
View file @
6f2a9d7b
...
...
@@ -18,10 +18,7 @@ static inline struct udf_inode_info *UDF_I(struct inode *inode)
#define UDF_I_STRAT4096(X) ( UDF_I(X)->i_strat4096 )
#define UDF_I_NEXT_ALLOC_BLOCK(X) ( UDF_I(X)->i_next_alloc_block )
#define UDF_I_NEXT_ALLOC_GOAL(X) ( UDF_I(X)->i_next_alloc_goal )
#define UDF_I_UMTIME(X) ( UDF_I(X)->i_umtime )
#define UDF_I_UCTIME(X) ( UDF_I(X)->i_uctime )
#define UDF_I_CRTIME(X) ( UDF_I(X)->i_crtime )
#define UDF_I_UCRTIME(X) ( UDF_I(X)->i_ucrtime )
#define UDF_I_SAD(X) ( UDF_I(X)->i_ext.i_sad )
#define UDF_I_LAD(X) ( UDF_I(X)->i_ext.i_lad )
#define UDF_I_DATA(X) ( UDF_I(X)->i_ext.i_data )
...
...
fs/udf/udfdecl.h
View file @
6f2a9d7b
...
...
@@ -28,8 +28,6 @@
#define UDF_NAME_LEN 255
#define UDF_PATH_LEN 1023
#define CURRENT_UTIME (xtime.tv_nsec / 1000)
#define udf_file_entry_alloc_offset(inode)\
(UDF_I_USE(inode) ?\
sizeof(struct unallocSpaceEntry) :\
...
...
@@ -185,6 +183,6 @@ extern uint16_t udf_crc(uint8_t *, uint32_t, uint16_t);
/* udftime.c */
extern
time_t
*
udf_stamp_to_time
(
time_t
*
,
long
*
,
timestamp
);
extern
timestamp
*
udf_time_to_stamp
(
timestamp
*
,
time_t
,
long
);
extern
timestamp
*
udf_time_to_stamp
(
timestamp
*
,
struct
timespec
);
#endif
/* __UDF_DECL_H */
fs/udf/udftime.c
View file @
6f2a9d7b
...
...
@@ -121,7 +121,7 @@ udf_stamp_to_time(time_t *dest, long *dest_usec, timestamp src)
timestamp
*
udf_time_to_stamp
(
timestamp
*
dest
,
time_t
tv_sec
,
long
tv_usec
)
udf_time_to_stamp
(
timestamp
*
dest
,
struct
timespec
ts
)
{
long
int
days
,
rem
,
y
;
const
unsigned
short
int
*
ip
;
...
...
@@ -134,9 +134,9 @@ udf_time_to_stamp(timestamp *dest, time_t tv_sec, long tv_usec)
dest
->
typeAndTimezone
=
0x1000
|
(
offset
&
0x0FFF
);
tv_sec
+=
offset
*
60
;
days
=
tv_sec
/
SECS_PER_DAY
;
rem
=
tv_sec
%
SECS_PER_DAY
;
t
s
.
t
v_sec
+=
offset
*
60
;
days
=
t
s
.
t
v_sec
/
SECS_PER_DAY
;
rem
=
t
s
.
t
v_sec
%
SECS_PER_DAY
;
dest
->
hour
=
rem
/
SECS_PER_HOUR
;
rem
%=
SECS_PER_HOUR
;
dest
->
minute
=
rem
/
60
;
...
...
@@ -164,9 +164,9 @@ udf_time_to_stamp(timestamp *dest, time_t tv_sec, long tv_usec)
dest
->
month
=
y
+
1
;
dest
->
day
=
days
+
1
;
dest
->
centiseconds
=
t
v_usec
/
1
0000
;
dest
->
hundredsOfMicroseconds
=
(
t
v_usec
-
dest
->
centiseconds
*
10000
)
/
100
;
dest
->
microseconds
=
(
t
v_usec
-
dest
->
centiseconds
*
10000
-
dest
->
centiseconds
=
t
s
.
tv_nsec
/
1000
0000
;
dest
->
hundredsOfMicroseconds
=
(
t
s
.
tv_nsec
/
1000
-
dest
->
centiseconds
*
10000
)
/
100
;
dest
->
microseconds
=
(
t
s
.
tv_nsec
/
1000
-
dest
->
centiseconds
*
10000
-
dest
->
hundredsOfMicroseconds
*
100
);
return
dest
;
}
...
...
include/linux/device.h
View file @
6f2a9d7b
...
...
@@ -438,9 +438,9 @@ extern void device_resume(u32 level);
extern
void
device_shutdown
(
void
);
/* drivrs/base/firmware.c */
/* driv
e
rs/base/firmware.c */
extern
int
firmware_register
(
struct
subsystem
*
);
extern
void
firmware_uregister
(
struct
subsystem
*
);
extern
void
firmware_u
n
register
(
struct
subsystem
*
);
/* debugging and troubleshooting/diagnostic helpers. */
#ifdef DEBUG
...
...
include/linux/udf_fs_i.h
View file @
6f2a9d7b
...
...
@@ -43,10 +43,7 @@ typedef struct
struct
udf_inode_info
{
long
i_umtime
;
long
i_uctime
;
long
i_crtime
;
long
i_ucrtime
;
struct
timespec
i_crtime
;
/* Physical address of inode */
lb_addr
i_location
;
__u64
i_unique
;
...
...
include/linux/udf_fs_sb.h
View file @
6f2a9d7b
...
...
@@ -97,7 +97,7 @@ struct udf_sb_info
uid_t
s_uid
;
/* Root Info */
time_t
s_recordtime
;
struct
timespec
s_recordtime
;
/* Fileset Info */
__u16
s_serialnum
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment