mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-19 04:48:03 +07:00
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/shaggy/jfs-2.6
This commit is contained in:
commit
bfab08c097
@ -129,8 +129,7 @@ void jfs_delete_inode(struct inode *inode)
|
|||||||
jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
|
jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
|
||||||
|
|
||||||
if (!is_bad_inode(inode) &&
|
if (!is_bad_inode(inode) &&
|
||||||
(JFS_IP(inode)->fileset == cpu_to_le32(FILESYSTEM_I))) {
|
(JFS_IP(inode)->fileset == FILESYSTEM_I)) {
|
||||||
|
|
||||||
truncate_inode_pages(&inode->i_data, 0);
|
truncate_inode_pages(&inode->i_data, 0);
|
||||||
|
|
||||||
if (test_cflag(COMMIT_Freewmap, inode))
|
if (test_cflag(COMMIT_Freewmap, inode))
|
||||||
|
@ -3055,7 +3055,7 @@ static int cntlz(u32 value)
|
|||||||
* RETURN VALUES:
|
* RETURN VALUES:
|
||||||
* log2 number of blocks
|
* log2 number of blocks
|
||||||
*/
|
*/
|
||||||
int blkstol2(s64 nb)
|
static int blkstol2(s64 nb)
|
||||||
{
|
{
|
||||||
int l2nb;
|
int l2nb;
|
||||||
s64 mask; /* meant to be signed */
|
s64 mask; /* meant to be signed */
|
||||||
|
@ -725,6 +725,9 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp,
|
|||||||
else
|
else
|
||||||
tlck->flag = tlckINODELOCK;
|
tlck->flag = tlckINODELOCK;
|
||||||
|
|
||||||
|
if (S_ISDIR(ip->i_mode))
|
||||||
|
tlck->flag |= tlckDIRECTORY;
|
||||||
|
|
||||||
tlck->type = 0;
|
tlck->type = 0;
|
||||||
|
|
||||||
/* bind the tlock and the page */
|
/* bind the tlock and the page */
|
||||||
@ -1009,6 +1012,8 @@ struct tlock *txMaplock(tid_t tid, struct inode *ip, int type)
|
|||||||
|
|
||||||
/* bind the tlock and the object */
|
/* bind the tlock and the object */
|
||||||
tlck->flag = tlckINODELOCK;
|
tlck->flag = tlckINODELOCK;
|
||||||
|
if (S_ISDIR(ip->i_mode))
|
||||||
|
tlck->flag |= tlckDIRECTORY;
|
||||||
tlck->ip = ip;
|
tlck->ip = ip;
|
||||||
tlck->mp = NULL;
|
tlck->mp = NULL;
|
||||||
|
|
||||||
@ -1077,6 +1082,8 @@ struct linelock *txLinelock(struct linelock * tlock)
|
|||||||
linelock->flag = tlckLINELOCK;
|
linelock->flag = tlckLINELOCK;
|
||||||
linelock->maxcnt = TLOCKLONG;
|
linelock->maxcnt = TLOCKLONG;
|
||||||
linelock->index = 0;
|
linelock->index = 0;
|
||||||
|
if (tlck->flag & tlckDIRECTORY)
|
||||||
|
linelock->flag |= tlckDIRECTORY;
|
||||||
|
|
||||||
/* append linelock after tlock */
|
/* append linelock after tlock */
|
||||||
linelock->next = tlock->next;
|
linelock->next = tlock->next;
|
||||||
@ -2070,8 +2077,8 @@ static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|||||||
*
|
*
|
||||||
* function: log from maplock of freed data extents;
|
* function: log from maplock of freed data extents;
|
||||||
*/
|
*/
|
||||||
void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
||||||
struct tlock * tlck)
|
struct tlock * tlck)
|
||||||
{
|
{
|
||||||
struct pxd_lock *pxdlock;
|
struct pxd_lock *pxdlock;
|
||||||
int i, nlock;
|
int i, nlock;
|
||||||
@ -2209,7 +2216,7 @@ void txEA(tid_t tid, struct inode *ip, dxd_t * oldea, dxd_t * newea)
|
|||||||
* function: synchronously write pages locked by transaction
|
* function: synchronously write pages locked by transaction
|
||||||
* after txLog() but before txUpdateMap();
|
* after txLog() but before txUpdateMap();
|
||||||
*/
|
*/
|
||||||
void txForce(struct tblock * tblk)
|
static void txForce(struct tblock * tblk)
|
||||||
{
|
{
|
||||||
struct tlock *tlck;
|
struct tlock *tlck;
|
||||||
lid_t lid, next;
|
lid_t lid, next;
|
||||||
@ -2358,7 +2365,7 @@ static void txUpdateMap(struct tblock * tblk)
|
|||||||
*/
|
*/
|
||||||
else { /* (maplock->flag & mlckFREE) */
|
else { /* (maplock->flag & mlckFREE) */
|
||||||
|
|
||||||
if (S_ISDIR(tlck->ip->i_mode))
|
if (tlck->flag & tlckDIRECTORY)
|
||||||
txFreeMap(ipimap, maplock,
|
txFreeMap(ipimap, maplock,
|
||||||
tblk, COMMIT_PWMAP);
|
tblk, COMMIT_PWMAP);
|
||||||
else
|
else
|
||||||
|
@ -122,6 +122,7 @@ extern struct tlock *TxLock; /* transaction lock table */
|
|||||||
#define tlckLOG 0x0800
|
#define tlckLOG 0x0800
|
||||||
/* updateMap state */
|
/* updateMap state */
|
||||||
#define tlckUPDATEMAP 0x0080
|
#define tlckUPDATEMAP 0x0080
|
||||||
|
#define tlckDIRECTORY 0x0040
|
||||||
/* freeLock state */
|
/* freeLock state */
|
||||||
#define tlckFREELOCK 0x0008
|
#define tlckFREELOCK 0x0008
|
||||||
#define tlckWRITEPAGE 0x0004
|
#define tlckWRITEPAGE 0x0004
|
||||||
|
Loading…
Reference in New Issue
Block a user